diff --git a/pd/src/g_text.c b/pd/src/g_text.c
index 6371cd18d21fe3b094f21bed53e2396d007e6984..9a783b547d0d9bfc631d9fd6047ae03ac0ff403a 100644
--- a/pd/src/g_text.c
+++ b/pd/src/g_text.c
@@ -810,7 +810,7 @@ void canvas_msg(t_glist *gl, t_symbol *s, int argc, t_atom *argv)
         glist_noselect(gl);
         glist_select(gl, &x->m_text.te_g);
         gobj_activate(&x->m_text.te_g, gl,
-            2); // <-- hack to signal we're a new message box
+            connectme ? 1 : 2); // <-- hack to signal we're a new message box
         if (connectme == 1)
             canvas_connect(gl, indx, 0, nobj, 0);
         else if (connectme == 0)