Index: exec.c
==================================================================
--- exec.c
+++ exec.c
@@ -1057,11 +1057,11 @@
   Uint32 r=VOIDLINK;
   if(globals[k].t!=TY_FOR) Throw("Uninitialized for/next loop");
   if(globals[k].s==-1) return ptr+1;
   n=playfield[globals[k].u&0xFFFF];
   while(n!=VOIDLINK) {
-    if(!(objects[n]->oflags&OF_DONE)) {
+    if(!(objects[n]->oflags&(OF_DONE|OF_DESTROYED|OF_VISUALONLY))) {
       r=n;
       if(globals[k].u&0x10000) break;
     }
     n=objects[n]->up;
   }