diff --git a/src/vm/play.c b/src/vm/play.c
index e5d0e72be1e7d50d7cd556cc522460203d3ffc70..61dd1bc36e4b5af87fba97c8acecb0dc398c8838 100644
--- a/src/vm/play.c
+++ b/src/vm/play.c
@@ -203,7 +203,11 @@ link_t play_Cell(vm_t *vm) {
     Log3(vm, "(vm->state).cellN (%i) > pgc->nr_of_cells (%i)",
             (vm->state).cellN, (vm->state).pgc->nr_of_cells );
 #endif
-    assert((vm->state).cellN == (vm->state).pgc->nr_of_cells + 1);
+    if((vm->state).cellN > (vm->state).pgc->nr_of_cells + 1) {
+      /* bogus link, ignore it */
+      link_t link_values = { LinkNoLink, 0, 0, 0 };
+      return link_values;
+    }
     return play_PGC_post(vm);
   }