diff --git a/externals/mrpeach/net/udpreceive~.c b/externals/mrpeach/net/udpreceive~.c
index 86a7f082b2dbb7491f1f7b43468d55f451875ec3..9768baa540db6fd3a0dfcc552e3c210c60ffea35 100644
--- a/externals/mrpeach/net/udpreceive~.c
+++ b/externals/mrpeach/net/udpreceive~.c
@@ -670,7 +670,17 @@ static void *udpreceive_tilde_new(t_symbol *s, int argc, t_atom *argv)
 {
     t_udpreceive_tilde  *x;
     int                 i, j = 0, portno = 0, outlets = 0, blocksize = 0;
+    t_atom sane_defaults[2];
 
+    if (!argc)
+    {
+        post("udpreceive~: warning: no arguments provided: defaulting to "
+             "[updreceive~ 0]");
+        SETFLOAT(sane_defaults, 0.);
+        SETFLOAT(sane_defaults+1, 1.);
+        argc = 2;
+        argv = sane_defaults;
+    }
 
     x = (t_udpreceive_tilde *)pd_new(udpreceive_tilde_class);
     if (NULL == x) return NULL;
diff --git a/externals/mrpeach/net/udpsend~.c b/externals/mrpeach/net/udpsend~.c
index 5846524ab693f94106e4147f66449b11809a308e..77b514c0f3b83b263c6eb1df0067bdce1d2b98b7 100644
--- a/externals/mrpeach/net/udpsend~.c
+++ b/externals/mrpeach/net/udpsend~.c
@@ -840,6 +840,11 @@ static void *udpsend_tilde_new(t_floatarg inlets, t_floatarg blocksize)
     t_udpsend_tilde *x = (t_udpsend_tilde *)pd_new(udpsend_tilde_class);
     if (x)
     {
+        if (inlets < 1.)
+        {
+            post("udpsend~: warning: no inlet argument given: defaulting to 1");
+            inlets = 1.;
+        }
         for (i = sizeof(t_object); i < (int)sizeof(t_udpsend_tilde); i++)
             ((char *)x)[i] = 0;