diff --git a/pd/src/g_mycanvas.c b/pd/src/g_mycanvas.c
index fc5ee264a3fd8be5777121d395666f78b86c68d7..a5977ada5ff1c3f175370cb5b3c45a427084ae7a 100644
--- a/pd/src/g_mycanvas.c
+++ b/pd/src/g_mycanvas.c
@@ -28,7 +28,7 @@ void my_canvas_draw_new(t_my_canvas *x, t_glist *glist)
     sprintf(cbuf, "#%6.6x", x->x_gui.x_bcol);
 
     gui_vmess("gui_gobj_new", "xxsiii", canvas,
-        x, "iemgui", x1, y1, glist_istoplevel(canvas));
+        x, "iemgui", x1, y1, glist_istoplevel(glist));
     gui_vmess("gui_mycanvas_new", "xxsiiiiii", canvas,
         x, cbuf, x1, y1, x1+x->x_vis_w, y1+x->x_vis_h,
         x1+x->x_gui.x_w, y1+x->x_gui.x_h);