diff --git a/src/g_editor.c b/src/g_editor.c
index df59c3923d9712542ce689134458650c6da5597c..1834d1923a152f9462698b9f567f3ef9214065d9 100644
--- a/src/g_editor.c
+++ b/src/g_editor.c
@@ -4614,7 +4614,8 @@ void g_editor_setup(void)
         A_GIMME, A_NULL);
     class_addmethod(canvas_class, (t_method)canvas_motion, gensym("motion"),
         A_FLOAT, A_FLOAT, A_FLOAT, A_NULL);
-
+    class_addmethod(canvas_class, (t_method)glist_noselect,
+        gensym("noselect"), A_NULL);
 /* ------------------------ menu actions ---------------------------- */
     class_addmethod(canvas_class, (t_method)canvas_menuclose,
         gensym("menuclose"), A_DEFFLOAT, 0);
diff --git a/src/pd.tk b/src/pd.tk
index 847598a7fc57add7c9ddcd05f2e2942d55943436..1d0340b7be993750eef89d2af27e009bd08df0d4 100644
--- a/src/pd.tk
+++ b/src/pd.tk
@@ -2527,9 +2527,15 @@ proc pdtk_canvas_new {name width height geometry editable} {
     set pdtk_canvas_mouseup_name ""
 
 	bind $name <FocusIn> "menu_fixeditmenu $name"
+	bind $name <FocusOut> { pdtk_noselect %W }
     focus $name.c
 }
 
+proc pdtk_noselect {name} {
+	set topname [string trimright $name .c]
+	pd [concat $topname noselect \;]
+}
+
 #### jsarlo #####
 proc pdtk_array_listview_setpage {arrayName page} {
     global pd_array_listview_page