diff --git a/pd/src/g_bang.c b/pd/src/g_bang.c
index 7210556ae1418c1ce99ea480c4f46ef1ecac0fe9..5d5437f688aac0e8f0874bf108cbf132e37f9721 100644
--- a/pd/src/g_bang.c
+++ b/pd/src/g_bang.c
@@ -528,7 +528,7 @@ static void *bng_new(t_symbol *s, int argc, t_atom *argv)
     x->x_gui.x_changed = -1;
 
     x->x_gui.legacy_x = 0;
-    x->x_gui.legacy_y = 0;
+    x->x_gui.legacy_y = 1;
 
     //x->x_gui.click_x = 1;
     //x->x_gui.click_y = 2;
diff --git a/pd/src/g_canvas.c b/pd/src/g_canvas.c
index 9ff38c28fa73b9f31e227e4ed9746234fd766c3a..a25fb16f7897d25cb89759c6739393acec08c683 100644
--- a/pd/src/g_canvas.c
+++ b/pd/src/g_canvas.c
@@ -802,7 +802,7 @@ void canvas_drawredrect(t_canvas *x, int doit)
 {
     if (doit)
     {
-        int x1=x->gl_xmargin, y1=x->gl_ymargin;
+        int x1=x->gl_xmargin, y1=x->gl_ymargin + sys_legacy;
         int x2=x1+x->gl_pixwidth, y2=y1+x->gl_pixheight;
         //sys_vgui(".x%lx.c create line "
         //    "%d %d %d %d %d %d %d %d %d %d -fill #ff8080 -tags GOP\n",
diff --git a/pd/src/g_graph.c b/pd/src/g_graph.c
index 6e203692bfb0e65b934442a562aa98619017d858..6b080951155b6b6fc96824050c92ee6b744ba3b6 100644
--- a/pd/src/g_graph.c
+++ b/pd/src/g_graph.c
@@ -919,6 +919,12 @@ static void graph_vis(t_gobj *gr, t_glist *parent_glist, int vis)
     // conditional
     graph_getrect(gr, parent_glist, &x1, &y1, &x2, &y2);
     //fprintf(stderr,"%d %d %d %d\n", x1, y1, x2, y2);
+    if (sys_legacy == 1)
+    {
+        //fprintf(stderr,"legacy  gop\n");
+        y1 += 1;
+        y2 += 1;
+    }
 
     if (!vis)
         rtext_erase(glist_findrtext(parent_glist, &x->gl_obj));
@@ -1375,6 +1381,15 @@ static void graph_getrect(t_gobj *z, t_glist *glist,
         }*/
     }
     else text_widgetbehavior.w_getrectfn(z, glist, &x1, &y1, &x2, &y2);
+
+    if (sys_legacy == 1)
+    {
+        //fprintf(stderr,"legacy  gop\n");
+        y1 += 1;
+        y2 += 1;
+    }
+    //fprintf(stderr,"    post %d %d %d %d\n", x1, y1, x2, y2); 
+
     *xp1 = x1;
     *yp1 = y1;
     *xp2 = x2;
diff --git a/pd/src/g_mycanvas.c b/pd/src/g_mycanvas.c
index a550c15b20b09ce3c6e860573e59de6ac5ba6f33..967680932e8b10d2089676da7b31011e5eb0831e 100644
--- a/pd/src/g_mycanvas.c
+++ b/pd/src/g_mycanvas.c
@@ -374,7 +374,7 @@ static void *my_canvas_new(t_symbol *s, int argc, t_atom *argv)
     x->x_gui.x_obj.te_iemgui = 1;
 
     x->x_gui.legacy_x = 0;
-    x->x_gui.legacy_y = 0;
+    x->x_gui.legacy_y = 1;
 
     return (x);
 }
diff --git a/pd/src/g_numbox.c b/pd/src/g_numbox.c
index e0728a583c70e2eb3935a8d7a0081eac611895db..b33381dbb8d1714e18cf6dde7ebb2ba130ac1013 100644
--- a/pd/src/g_numbox.c
+++ b/pd/src/g_numbox.c
@@ -847,7 +847,7 @@ static void *my_numbox_new(t_symbol *s, int argc, t_atom *argv)
     x->x_gui.x_changed = 0;
 
     x->x_gui.legacy_x = 0;
-    x->x_gui.legacy_y = 0;
+    x->x_gui.legacy_y = 1;
 
     return (x);
 }
diff --git a/pd/src/g_radio.c b/pd/src/g_radio.c
index 0262ee1c3c2c4e3351b791740c671c60bc20f410..8993246833a62b0a754cfe8903b32fceec9835ad 100644
--- a/pd/src/g_radio.c
+++ b/pd/src/g_radio.c
@@ -531,7 +531,7 @@ static void *radio_new(t_symbol *s, int argc, t_atom *argv)
     x->x_gui.x_obj.te_iemgui = 1;
 
     x->x_gui.legacy_x = 0;
-    x->x_gui.legacy_y = 0;   
+    x->x_gui.legacy_y = 1;
 
     return (x);
 }
diff --git a/pd/src/g_slider.c b/pd/src/g_slider.c
index abe3a350eb6be66a2e8f5322ac14e75da76faee7..a993ca7a5f88806d4e0623459d5b1dd1eae09b53 100644
--- a/pd/src/g_slider.c
+++ b/pd/src/g_slider.c
@@ -599,10 +599,10 @@ static void *slider_new(t_symbol *s, int argc, t_atom *argv)
     if (x->x_orient)
     {
         x->x_gui.legacy_x = 0;
-        x->x_gui.legacy_y = -2;
+        x->x_gui.legacy_y = -1;
     } else {
         x->x_gui.legacy_x = -3;
-        x->x_gui.legacy_y = 0;        
+        x->x_gui.legacy_y = 1;
     }
 
 
diff --git a/pd/src/g_toggle.c b/pd/src/g_toggle.c
index 36a4aa97fb568743a9b9bc76acc73cc8dcf87c8a..089115e538664de3189237d9ca2feb81b6cf3377 100644
--- a/pd/src/g_toggle.c
+++ b/pd/src/g_toggle.c
@@ -422,7 +422,7 @@ static void *toggle_new(t_symbol *s, int argc, t_atom *argv)
     x->x_gui.x_changed = 1;
 
     x->x_gui.legacy_x = 0;
-    x->x_gui.legacy_y = 0;
+    x->x_gui.legacy_y = 1;
 
     //x->x_gui.click_x = 1;
     //x->x_gui.click_y = 2;
diff --git a/pd/src/g_vumeter.c b/pd/src/g_vumeter.c
index d09301570863920d77143c2944328eeef395b873..7e09183f1cf8b16e866c9400c7ea05b1ddbee2d4 100644
--- a/pd/src/g_vumeter.c
+++ b/pd/src/g_vumeter.c
@@ -751,7 +751,7 @@ static void *vu_new(t_symbol *s, int argc, t_atom *argv)
     x->x_gui.x_obj.te_iemgui = 1;
 
     x->x_gui.legacy_x = -1;
-    x->x_gui.legacy_y = -2;
+    x->x_gui.legacy_y = -1;
 
     return (x);
 }