diff --git a/externals/ggee/gui/image.c b/externals/ggee/gui/image.c
index acccd2ae49069e822a3b7c7f59dc96e469a12420..efdb592975416434f1706f2edc23f35b1af2bc76 100644
--- a/externals/ggee/gui/image.c
+++ b/externals/ggee/gui/image.c
@@ -179,9 +179,9 @@ static void image_select(t_gobj *z, t_glist *glist, int state)
 {
 	//fprintf(stderr,"image_select %d\n", state);
 	t_image *x = (t_image *)z;
-	x->x_selected = state;
 	if (state) {
 		if (x->x_glist == glist_getcanvas(glist)) {
+			x->x_selected = state;
 			if (!x->x_gop_spill && (x->x_img_width + x->x_img_height) >= 2)
 				sys_vgui(".x%x.c create rectangle \
 					%d %d %d %d -tags %xSEL -outline $select_color\n",