diff --git a/pd/nw/pd_canvas.html b/pd/nw/pd_canvas.html
index b83ec02e483061b259822b72826e3692b3db2b49..c817a8902396f13259898926d8d76e190be1d7f4 100644
--- a/pd/nw/pd_canvas.html
+++ b/pd/nw/pd_canvas.html
@@ -814,8 +814,12 @@ function nw_create_patch_window_menus (name) {
     putMenu.append(new nw.MenuItem({
         label: l('menu.msgbox'),
         click: function() {
-                   pdgui.pdsend(name + " dirty 1");
-                   pdgui.pdsend(name + " msg 0");
+            var state = canvas_events.get_state();
+            if (state === 'text' || state === 'float_text') {
+                canvas_events.set_obj();
+            }
+            pdgui.pdsend(name + " dirty 1");
+            pdgui.pdsend(name + " msg 0");
         },
         key: '2',
         modifiers: "ctrl",