diff --git a/pd/src/g_editor.c b/pd/src/g_editor.c
index 542ea23ce32614bce45ee52f62dc174e503bebca..70478b5527e0b455de339dbbb3d213433bb73143 100644
--- a/pd/src/g_editor.c
+++ b/pd/src/g_editor.c
@@ -5430,7 +5430,7 @@ static void canvas_dofont(t_canvas *x, t_floatarg font, t_floatarg xresize,
 {
     t_gobj *y;
     x->gl_font = font;
-	if (x->gl_isgraph && !canvas_isabstraction(x))
+	if (x->gl_isgraph && !canvas_isabstraction(x) && (xresize != 1 || yresize != 1) && !glist_istoplevel(x))
 		vmess(&x->gl_pd, gensym("menu-open"), "");
     if (xresize != 1 || yresize != 1)
     {