diff --git a/pd/src/g_bang.c b/pd/src/g_bang.c
index 0ee86163402de906d467561b417aa664c491e3c5..02a5c4a518c81c6ff7b8b74d8d615a94bd916134 100644
--- a/pd/src/g_bang.c
+++ b/pd/src/g_bang.c
@@ -183,7 +183,7 @@ void bng_draw_config(t_bng* x, t_glist* glist)
 		sprintf(color, "#%6.6x", x->x_gui.x_lcol);
 	*/
 
-	if (x->x_gui.x_fsf.x_selected)
+	if (x->x_gui.x_fsf.x_selected && x->x_gui.x_glist == canvas)
 	    sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} -%d %s} -fill $select_color -text {%s} \n",
              canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
              strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
diff --git a/pd/src/g_hdial.c b/pd/src/g_hdial.c
index 17dc4afb1e5bd26be5cb48c9772222eb21929caf..605cd0523127a734f571fb82f7b90056784b4884 100644
--- a/pd/src/g_hdial.c
+++ b/pd/src/g_hdial.c
@@ -206,7 +206,7 @@ void hradio_draw_config(t_hradio* x, t_glist* glist)
 		sprintf(color, "#%6.6x", x->x_gui.x_lcol);
 	*/
 
-	if (x->x_gui.x_fsf.x_selected)
+	if (x->x_gui.x_fsf.x_selected && x->x_gui.x_glist == canvas)
 	    sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} -%d %s} -fill $select_color -text {%s} \n",
              canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
              strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
diff --git a/pd/src/g_hslider.c b/pd/src/g_hslider.c
index 3287f51e862bd27564d8a44053dd84271f9b9c6d..bcbca4627f9d3bf617a5483322778c989b24ac90 100644
--- a/pd/src/g_hslider.c
+++ b/pd/src/g_hslider.c
@@ -206,7 +206,7 @@ static void hslider_draw_config(t_hslider* x,t_glist* glist)
 		sprintf(color, "#%6.6x", x->x_gui.x_lcol);
 	*/
 
-	if (x->x_gui.x_fsf.x_selected)
+	if (x->x_gui.x_fsf.x_selected && x->x_gui.x_glist == canvas)
 		sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} -%d %s} -fill $select_color -text {%s} \n",
 		         canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
 		         strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
diff --git a/pd/src/g_mycanvas.c b/pd/src/g_mycanvas.c
index a59d012ce0bbf85d12790771b99f31dafe102163..ef6131e613d429d2e45f3d43277d36d06a3d88ac 100644
--- a/pd/src/g_mycanvas.c
+++ b/pd/src/g_mycanvas.c
@@ -123,7 +123,7 @@ void my_canvas_draw_config(t_my_canvas* x, t_glist* glist)
 
     sys_vgui(".x%lx.c itemconfigure %lxRECT -fill #%6.6x -outline #%6.6x\n", canvas, x,
              x->x_gui.x_bcol, x->x_gui.x_bcol);
-	if (x->x_gui.x_fsf.x_selected)
+	if (x->x_gui.x_fsf.x_selected && x->x_gui.x_glist == canvas)
     	sys_vgui(".x%lx.c itemconfigure %lxBASE -outline $select_color\n", canvas, x);
 	else
     	sys_vgui(".x%lx.c itemconfigure %lxBASE -outline #%6.6x\n", canvas, x,
diff --git a/pd/src/g_numbox.c b/pd/src/g_numbox.c
index 0c70883b956a1ad1337bbb2603f2ca628f211029..8c8f3facb6f28aef916b6d06d84e0d3c72853c74 100644
--- a/pd/src/g_numbox.c
+++ b/pd/src/g_numbox.c
@@ -366,7 +366,7 @@ static void my_numbox_draw_config(t_my_numbox* x,t_glist* glist)
 	}
 	*/
 
-	if (x->x_gui.x_fsf.x_selected) {
+	if (x->x_gui.x_fsf.x_selected && x->x_gui.x_glist == canvas) {
 		sys_vgui(" .x%lx.c itemconfigure %lxLABEL -font {{%s} -%d %s} -fill $select_color -text {%s} \n .x%lx.c itemconfigure %lxNUMBER -font {{%s} -%d %s} -fill $select_color \n .x%lx.c itemconfigure %lxBASE2 -fill $select_color\n",
 		         canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
 		         strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"",
diff --git a/pd/src/g_toggle.c b/pd/src/g_toggle.c
index 8e936964496924faf472255ebe083848deb33234..7b877e4d16cb52a3d1db9f7f401df40af35ccf20 100644
--- a/pd/src/g_toggle.c
+++ b/pd/src/g_toggle.c
@@ -194,7 +194,7 @@ void toggle_draw_config(t_toggle* x, t_glist* glist)
              color,
              strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
 	*/
-	if (x->x_gui.x_fsf.x_selected) {
+	if (x->x_gui.x_fsf.x_selected && x->x_gui.x_glist == canvas) {
     	sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} -%d %s} -fill $select_color -text {%s} \n",
              canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
              strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
diff --git a/pd/src/g_vdial.c b/pd/src/g_vdial.c
index 119e3fef35684a003f42fe5049572d7a37b97b94..07583b5349a79b0cc84c64170b5efdb7f4ff2a95 100644
--- a/pd/src/g_vdial.c
+++ b/pd/src/g_vdial.c
@@ -205,7 +205,7 @@ void vradio_draw_config(t_vradio* x, t_glist* glist)
 		sprintf(color, "#%6.6x", x->x_gui.x_lcol);
 	*/
 
-	if (x->x_gui.x_fsf.x_selected)
+	if (x->x_gui.x_fsf.x_selected && x->x_gui.x_glist == canvas)
 		sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} -%d %s} -fill $select_color -text {%s} \n",
 		         canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
 		         strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
diff --git a/pd/src/g_vslider.c b/pd/src/g_vslider.c
index 7514b31e056a84fc2ca97738b8e30719337cd132..4b83fa193ad985b7dd1b7b7f4b7142bfca83966c 100644
--- a/pd/src/g_vslider.c
+++ b/pd/src/g_vslider.c
@@ -209,7 +209,7 @@ static void vslider_draw_config(t_vslider* x,t_glist* glist)
 		sprintf(color, "#%6.6x", x->x_gui.x_lcol);
 	*/
 
-	if (x->x_gui.x_fsf.x_selected)
+	if (x->x_gui.x_fsf.x_selected && x->x_gui.x_glist == canvas)
 		sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} -%d %s} -fill $select_color -text {%s} \n",
 		         canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight, 
 		         strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
diff --git a/pd/src/g_vumeter.c b/pd/src/g_vumeter.c
index 71b04d304b829f7498ccb85f875683da03983091..6d09a5616969ab5ce26dd0be3037f05e403f424a 100644
--- a/pd/src/g_vumeter.c
+++ b/pd/src/g_vumeter.c
@@ -367,7 +367,7 @@ static void vu_draw_config(t_vu* x, t_glist* glist)
 					 x->x_gui.x_fontsize, sys_fontweight,
 		             x->x_gui.x_lcol);
     }
-	if (x->x_gui.x_fsf.x_selected)
+	if (x->x_gui.x_fsf.x_selected && x->x_gui.x_glist == canvas)
 		sys_vgui(".x%lx.c itemconfigure %lxLABEL -font {{%s} -%d %s} -fill $select_color -text {%s} \n",
 		         canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, sys_fontweight,
 		         strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
diff --git a/pd/src/m_pd.h b/pd/src/m_pd.h
index 94a19562d3a309f051264c12576a8522d514207f..f1a4fda636d210ee38e9bf99648eaa739850aacf 100644
--- a/pd/src/m_pd.h
+++ b/pd/src/m_pd.h
@@ -11,7 +11,7 @@ extern "C" {
 #define PD_MAJOR_VERSION 0
 #define PD_MINOR_VERSION 42
 #define PD_BUGFIX_VERSION 7
-#define PD_TEST_VERSION "20130523"
+#define PD_TEST_VERSION "20130724"
 #define PDL2ORK
 
 /* old name for "MSW" flag -- we have to take it for the sake of many old