diff --git a/ros3rag.common/src/main/java/de/tudresden/inf/st/ros3rag/common/SharedMainParts.java b/ros3rag.common/src/main/java/de/tudresden/inf/st/ros3rag/common/SharedMainParts.java
index da23711e01e498ee05917e375cd9ca8044d68120..0f3a53e75fb36fd29d1319b4c594ef8737e22c20 100644
--- a/ros3rag.common/src/main/java/de/tudresden/inf/st/ros3rag/common/SharedMainParts.java
+++ b/ros3rag.common/src/main/java/de/tudresden/inf/st/ros3rag/common/SharedMainParts.java
@@ -90,6 +90,9 @@ public abstract class SharedMainParts<MqttHandler extends SharedMainParts.MqttHa
   protected abstract void createSpecificMainHandlerConnections();
 
   private void rewind(String statusMessage) throws Exception {
+    if (model != null) {
+      model.ragconnectCloseConnections();
+    }
     model = createWorldModel();
 
     Scene scene = readSceneAndRobots();
diff --git a/ros3rag.placeB/src/main/jastadd/WorldModelB.jadd b/ros3rag.placeB/src/main/jastadd/WorldModelB.jadd
index 54fc3553bb998d6f0cfd1d5f555b9f38b45c45bb..636fce9c0febed3679de6b37893dc97b08269124 100644
--- a/ros3rag.placeB/src/main/jastadd/WorldModelB.jadd
+++ b/ros3rag.placeB/src/main/jastadd/WorldModelB.jadd
@@ -136,7 +136,15 @@ aspect Computation {
 
   //--- getNextOperation ---
   syn Operation WorldModelB.getNextOperation() {
-    return diffToOperations().getNumChild() > 0 ? diffToOperations().getChild(0) : new ErrorOperation("No operation computed!");
+    if (diffToOperations().getNumChild() == 0) {
+      return new ErrorOperation("No operation computed!");
+    }
+    for (Operation op : diffToOperations()) {
+      if (!op.isErrorOperation()) {
+        return op;
+      }
+    }
+    return new ErrorOperation("No executable operation found!");
   }
 
   //--- canReach ---