diff --git a/src/g_editor.c b/src/g_editor.c
index 5565d31d7ee290ca4c8fcad397c672f71577520c..2b49bf8db542d4d921a27ae84b941ac2037312bf 100644
--- a/src/g_editor.c
+++ b/src/g_editor.c
@@ -4534,8 +4534,8 @@ static void canvas_duplicate(t_canvas *x)
 		g = g->g_next;
 		while (g) {
 			if (pd_class(&g->g_pd) == canvas_class && ((t_canvas *)g)->gl_isgraph) {
-				// hack: 	if any objects are GOPs re-select them, otherwise we may get stray nlets
-				//			due to networked nature between the gui and the engine, so we select
+				// hack: 	if any objects are GOPs re-select them, otherwise we may get stray unselected 
+				//			objects due to networked nature between the gui and the engine, so we select
 				//			it explicitly here once again to prevent that from being a problem
 				gobj_select(g, x, 1);
 			}
diff --git a/src/g_scalar.c b/src/g_scalar.c
index c2415aa5385a061bb688b0ed5738224a7f5df914..893f13502dd9436d40067aa4a5c22091a41c2000 100644
--- a/src/g_scalar.c
+++ b/src/g_scalar.c
@@ -363,6 +363,7 @@ static void scalar_vis(t_gobj *z, t_glist *owner, int vis)
     }
     if (glist_isselected(owner, &x->sc_gobj))
     {
+		scalar_select(z, owner, 1);
         scalar_drawselectrect(x, owner, 0);
         scalar_drawselectrect(x, owner, 1);
     }