diff --git a/pd/src/g_rtext.c b/pd/src/g_rtext.c
index e2f717e9cf5112b6fa0aab2b0f8e69b7b8533163..57a776d3c4f94d25fb54e08e8a1cf861c9502078 100644
--- a/pd/src/g_rtext.c
+++ b/pd/src/g_rtext.c
@@ -395,9 +395,9 @@ static void rtext_senditup(t_rtext *x, int action, int *widthp, int *heightp,
             // pd_canvas.html.  I could remove the conditional, but
             // this part of Pd is convoluted enough that I'm not sure
             // if there'd be any side effects.
-            if (pixwide != x->x_drawnwidth ||
+            if (glist_isvisible(x->x_glist) && (pixwide != x->x_drawnwidth ||
                 pixhigh != x->x_drawnheight ||
-                x->x_text->te_type == T_MESSAGE) 
+                x->x_text->te_type == T_MESSAGE)) 
                 text_drawborder(x->x_text, x->x_glist, x->x_tag,
                     pixwide, pixhigh, 0);
             if (x->x_active)