diff --git a/Core/StatementNS/For.cs b/Core/StatementNS/For.cs
index 597827a2046e0819da99cd2dc95e29c3cc3bedbb..3fe25af4cdf3cc0f4be2f66d30f322be414fd059 100644
--- a/Core/StatementNS/For.cs
+++ b/Core/StatementNS/For.cs
@@ -70,6 +70,16 @@ namespace Core.StatementNS
                     }
                 }
             }
+            if (Counter == Statements.Count)
+            {
+                firstRun = false;
+
+                Counter = -1;
+
+                ParamsAndVars.Clear();
+
+                Statements = CopyStatements(StatementsBackup);
+            }
         }
 
         private void modifyIterationVariable(string varName, object start)