diff --git a/pd/src/g_editor.c b/pd/src/g_editor.c
index 038d0fa545a5c00a8bd1b3505f6740de253c7ef3..776b7f13e49c7204ef2078ad5f1c032ccb467c5b 100644
--- a/pd/src/g_editor.c
+++ b/pd/src/g_editor.c
@@ -5948,6 +5948,8 @@ static void canvas_dofont(t_canvas *x, t_floatarg font, t_floatarg xresize,
     if (glist_isvisible(x))
 	{
 		//fprintf(stderr,"glist_redraw %lx\n", x);
+		if (magicGlass_isOn(x->gl_magic_glass))
+			magicGlass_hide(x->gl_magic_glass);
         glist_redraw(x);
 	}
     for (y = x->gl_list; y; y = y->g_next)