diff --git a/src/main/java/avatartranslator/modelchecker/SpecificationActionLoop.java b/src/main/java/avatartranslator/modelchecker/SpecificationActionLoop.java
index 0bab01b85950329c9b2dfbc676b7bbe2b5ebb034..128ede76c8156306b1826374c5dbab92c6c0c5c2 100644
--- a/src/main/java/avatartranslator/modelchecker/SpecificationActionLoop.java
+++ b/src/main/java/avatartranslator/modelchecker/SpecificationActionLoop.java
@@ -3,6 +3,7 @@ package avatartranslator.modelchecker;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -34,6 +35,13 @@ public class SpecificationActionLoop {
     public void init(AvatarSpecification spec) {
         Map<AvatarStateMachineElement, Set<AvatarTransition>> map = new HashMap<>();
         
+        removeForLoops();
+        
+        if (internalLoops.size() == 0) {
+            error = true;
+            return;
+        }
+        
         for (List<AvatarTransition> list : internalLoops) {
             AvatarStateMachineElement state = list.get(list.size() -1).getNext(0); //loop state
             for (AvatarTransition at : list) {
@@ -94,6 +102,13 @@ public class SpecificationActionLoop {
     public void initLeadsTo(AvatarSpecification spec) {
         Set<AvatarStateMachineElement> stateSet = new HashSet<>();
         
+        removeForLoops();
+        
+        if (internalLoops.size() == 0) {
+            error = true;
+            return;
+        }
+        
         for (List<AvatarTransition> list : internalLoops) {       
             for (AvatarTransition at : list) {
                 stateSet.add(at.getNext(0));
@@ -229,6 +244,18 @@ public class SpecificationActionLoop {
         return s.toString();
     }
     
+    private void removeForLoops() {
+        Iterator<ArrayList<AvatarTransition>> iter = internalLoops.iterator();
+        while(iter.hasNext()) {
+            List<AvatarTransition> list = iter.next();
+            if (list.size() == 1 && list.get(0).getName().startsWith("Transition2ForRandom__")) {
+                //remove random for cycle
+                iter.remove();
+            }
+        }
+    }
+
+    
 //    public static void findIntersectionSets(List<ArrayList<AvatarTransition>> internalLoops) {
 //        if (internalLoops == null || internalLoops.size() <= 1) {
 //            return;
diff --git a/ttool/src/test/java/avatartranslator/AvatarExpressionTest.java b/ttool/src/test/java/avatartranslator/AvatarExpressionTest.java
index 7a8aab6f28c4df6b56bb2be5b0c13f590e8d3235..bd13777cc97fa61efad5fc074d726d53d9c8fdb0 100644
--- a/ttool/src/test/java/avatartranslator/AvatarExpressionTest.java
+++ b/ttool/src/test/java/avatartranslator/AvatarExpressionTest.java
@@ -126,12 +126,15 @@ public class AvatarExpressionTest {
         assertTrue(e9.buildExpression());
         AvatarExpressionSolver e10 = new AvatarExpressionSolver("true && 0 >= 1 || false");
         assertTrue(e10.buildExpression());
+        AvatarExpressionSolver e11 = new AvatarExpressionSolver("8/2*(2+2)");
+        assertTrue(e11.buildExpression());
         assertTrue(e1.getResult() == 1);
         assertTrue(e2.getResult() == 1);
         assertTrue(e3.getResult() == 0);
         assertTrue(e5.getResult() == 1);
         assertTrue(e9.getResult() == 1);
         assertTrue(e10.getResult() == 0);
+        assertTrue(e11.getResult() == 16);
     }
     
     @Test