diff --git a/pd/src/g_editor.c b/pd/src/g_editor.c
index a6d0c8452aacf40ad2e9d421d5884ee4f70a21db..c20fee498daa24ea5fc5e323fa415c51305c3379 100644
--- a/pd/src/g_editor.c
+++ b/pd/src/g_editor.c
@@ -1233,7 +1233,7 @@ void canvas_undo_move(t_canvas *x, void *z, int action)
         for (i = 0; i < buf->u_n; i++)
         {
             y = glist_nth(x, buf->u_vec[i].e_index);
-            glist_select(x, y);
+            if (y) glist_select(x, y);
         }
         //do_not_redraw = 0;
         //canvas_redraw(x);