diff --git a/externals/iem/iem_ambi/src/ambi_decode.c b/externals/iem/iem_ambi/src/ambi_decode.c
index 2e315bc3c2af7e903b114d7ee79308f6e1e4e25c..1dcd5adf30cdf23b7f773d7094d4a5f2be95343f 100644
--- a/externals/iem/iem_ambi/src/ambi_decode.c
+++ b/externals/iem/iem_ambi/src/ambi_decode.c
@@ -626,6 +626,18 @@ static void *ambi_decode_new(t_symbol *s, int argc, t_atom *argv)
 	t_ambi_decode *x = (t_ambi_decode *)pd_new(ambi_decode_class);
 	int nls, order, dim, i;
 	int nphls=0;/* phantom_loudspeaker */
+        t_atom sane_defaults[3];
+
+        if(!argc)
+        {
+                post("ambi_decode: warning: no arguments provided: setting to "
+                     "[ambi_decode 1 2 1]");
+                SETFLOAT(sane_defaults, 1.);
+                SETFLOAT(sane_defaults+1, 2.);
+                SETFLOAT(sane_defaults+2, 1.);
+                argc = 3;
+                argv = sane_defaults;
+        }
 
 	if(argc < 3)
 	{
diff --git a/externals/iem/iem_ambi/src/ambi_decode2.c b/externals/iem/iem_ambi/src/ambi_decode2.c
index c14e84fbfe10bcf76c5cb02ff1c49cb35f957cad..cc154400b5aee3f02de99b2237ceca88f38dc3b4 100644
--- a/externals/iem/iem_ambi/src/ambi_decode2.c
+++ b/externals/iem/iem_ambi/src/ambi_decode2.c
@@ -718,6 +718,20 @@ static void *ambi_decode2_new(t_symbol *s, int argc, t_atom *argv)
 	int n_ls=0;/* number of loudspeakers */
 	int n_mir_ls=0;/* number of mirror_loudspeakers */
 	int n_ph_ls=0;/* number of phantom_loudspeakers */
+        t_atom sane_defaults[5];
+
+        if(!argc)
+        {
+                post("ambi_decode2: warning: no arguments provided: setting to "
+                     "[ambi_decode2 1 2 1 0 0]");
+                SETFLOAT(sane_defaults, 1.);
+                SETFLOAT(sane_defaults+1, 2.);
+                SETFLOAT(sane_defaults+2, 1.);
+                SETFLOAT(sane_defaults+3, 0.);
+                SETFLOAT(sane_defaults+4, 0.);
+                argc = 5;
+                argv = sane_defaults;
+        }
 
 	if((argc >= 5) &&
 		IS_A_FLOAT(argv,0) &&
diff --git a/externals/iem/iem_ambi/src/ambi_decode3.c b/externals/iem/iem_ambi/src/ambi_decode3.c
index 46302da9adab2e96188cc02a59818a7e07930992..5bad7f868148aabe3b295861dbb152d03f2ef694 100644
--- a/externals/iem/iem_ambi/src/ambi_decode3.c
+++ b/externals/iem/iem_ambi/src/ambi_decode3.c
@@ -662,6 +662,19 @@ static void *ambi_decode3_new(t_symbol *s, int argc, t_atom *argv)
 	int order, dim, i;
 	int n_real_ls=0;/* number of loudspeakers */
 	int n_pht_ls=0;/* number of phantom_loudspeakers */
+        t_atom sane_defaults[4];
+
+        if(!argc)
+        {
+                post("ambi_decode3: warning: no arguments provided: setting to "
+                     "[ambi_decode3 1 2 1 0]");
+                SETFLOAT(sane_defaults, 1.);
+                SETFLOAT(sane_defaults+1, 2.);
+                SETFLOAT(sane_defaults+2, 1.);
+                SETFLOAT(sane_defaults+3, 0.);
+                argc = 4;
+                argv = sane_defaults;
+        }
 
 	if((argc >= 4) &&
 		IS_A_FLOAT(argv,0) &&
diff --git a/externals/iem/iem_ambi/src/ambi_decode_cube.c b/externals/iem/iem_ambi/src/ambi_decode_cube.c
index a30b421a4c2adccbf02ec9bdca7ecdad2b853e0d..26160b9db29538ed680fc190e4ddce919e732877 100644
--- a/externals/iem/iem_ambi/src/ambi_decode_cube.c
+++ b/externals/iem/iem_ambi/src/ambi_decode_cube.c
@@ -695,6 +695,19 @@ static void *ambi_decode_cube_new(t_symbol *s, int argc, t_atom *argv)
 	t_ambi_decode_cube *x = (t_ambi_decode_cube *)pd_new(ambi_decode_cube_class);
 	int nls, order, dim, i;
 	int nphls=0;/* phantom_loudspeaker */
+        t_atom sane_defaults[3];
+
+        if(!argc)
+        {
+                post("ambi_decode_cube: warning: no arguments provided: "
+                     "setting to [ambi_decode_cube 1 2 1]");
+                SETFLOAT(sane_defaults, 1.);
+                SETFLOAT(sane_defaults+1, 2.);
+                SETFLOAT(sane_defaults+2, 1.);
+                argc = 3;
+                argv = sane_defaults;
+        }
+
 
 	if(argc < 3)
 	{