diff --git a/src/g_canvas.c b/src/g_canvas.c
index abaccd31a6a8a1529e468d8ac79313c21496bc99..391429ec73bf8ea05fb8471c71dd685a18a6d0fa 100644
--- a/src/g_canvas.c
+++ b/src/g_canvas.c
@@ -1803,7 +1803,7 @@ void canvasgop__clickhook(t_scalehandle *sh, t_floatarg f, t_floatarg xxx, t_flo
 				if (x->gl_pixheight < SCALE_GOP_MINHEIGHT)
 					x->gl_pixheight = SCALE_GOP_MINHEIGHT;
 
-				// TODO check if the text is not hidden
+				// check if the text is not hidden
 				// if so make minimum width and height based retrieved from getrect
 				if (x->gl_hidetext == 0 && x->gl_owner) {
 					gobj_getrect((t_gobj*)x, x->gl_owner, &x1, &y1, &x2, &y2);
diff --git a/src/g_text.c b/src/g_text.c
index eb3eb2c5eb5131b5371033cf02a8cec9025d5867..b04daff19e138c9bfd31e216454f152f3e0e8daf 100644
--- a/src/g_text.c
+++ b/src/g_text.c
@@ -1091,7 +1091,8 @@ static void text_getrect(t_gobj *z, t_glist *glist,
 		int m = ( ni > no ? ni : no);
 		//let's see if the object has more nlets than its text width and resize them accordingly
 		//UNLESS we are gop in which case it is user's choice how big/small they want the object
-		if (!((t_glist *)z)->gl_isgraph) {
+		if (pd_class(&z->g_pd) != canvas_class || 
+				pd_class(&z->g_pd) == canvas_class && !((t_glist *)z)->gl_isgraph) {
 			if (width < (IOWIDTH * m) * 2 - IOWIDTH) {
 				//we have to resize the object
 				width = (IOWIDTH * m) * 2 - IOWIDTH;