diff --git a/externals/iem/iemguts/src/receivecanvas.c b/externals/iem/iemguts/src/receivecanvas.c
index 96b3e55dc199ff36d291786790d8744b9f5e2f4d..1fc10eac61fc202bd380ab5d995e71b04218edde 100644
--- a/externals/iem/iemguts/src/receivecanvas.c
+++ b/externals/iem/iemguts/src/receivecanvas.c
@@ -122,7 +122,7 @@ static void *receivecanvas_new(t_floatarg f)
 
   if(canvas) {
     char buf[MAXPDSTRING];
-    snprintf(buf, MAXPDSTRING-1, ".x%lx", (t_int)canvas);
+    snprintf(buf, MAXPDSTRING-1, "x%lx", (long unsigned int)canvas);
     buf[MAXPDSTRING-1]=0;
 
     x->x_proxy=receivecanvas_proxy_new(x, gensym(buf));