diff --git a/pd/src/g_all_guis.c b/pd/src/g_all_guis.c
index 2ce6de3d6fdb8353b83a2131ad4760ac7523079e..1723a986bde9f9b1ce6e3f3dbed473dc3b960c74 100644
--- a/pd/src/g_all_guis.c
+++ b/pd/src/g_all_guis.c
@@ -987,8 +987,8 @@ void iemgui_label_draw_new(t_iemgui *x)
 {
     char col[8];
     t_canvas *canvas=glist_getcanvas(x->x_glist);
-    int x1=text_xpix(&x->x_obj, x->x_glist)+x->legacy_x;
-    int y1=text_ypix(&x->x_obj, x->x_glist)+x->legacy_y;
+    int x1=text_xpix(&x->x_obj, x->x_glist) + (sys_legacy ? x->legacy_x : 0);
+    int y1=text_ypix(&x->x_obj, x->x_glist) + (sys_legacy ? x->legacy_y : 0);
     iemgui_getrect_legacy_label(x, &x1, &y1);
     sprintf(col, "#%6.6x", x->x_lcol);
     gui_vmess("gui_iemgui_label_new", "xxiissssi",