diff --git a/src/tmltranslator/TMLTextSpecification.java b/src/tmltranslator/TMLTextSpecification.java
index 69525bf9bfda5a1ded5ea488a110c609c7ba85fc..1a4b94fab79f02e5c27f26f95d9dc6897611cb89 100755
--- a/src/tmltranslator/TMLTextSpecification.java
+++ b/src/tmltranslator/TMLTextSpecification.java
@@ -1515,21 +1515,39 @@ public class TMLTextSpecification {
                 return -1;
             }
             forp = forp.substring(tmp0+1, tmp1);
-            forps = forp.split(";");
-            if (forps.length != 3) {
-                error = "FOR operation: badly formed parameters";
+	    int first = forp.indexOf(";");
+	    String init = "";
+	    if (first > -1) {
+		init = forp.substring(0, first);
+	    } else {
+		error = "FOR operation: badly formed parameters";
                 addError(0, _lineNb, 0, error);
                 return -1;
-            }
+	    }
 
-            // All is ok: constructing the FOR
+	    String condition = "";
+	    String increment = "";
+	    forp = forp.substring(first+1, forp.length()).trim();
+
+	    int second = forp.indexOf(";");
+	    if (second == -1) {
+		error = "FOR operation: badly formed parameters ";
+                addError(0, _lineNb, 0, error);
+                return -1;
+	    }
+
+	    condition = forp.substring(0, second);
+	    increment = forp.substring(second+1, forp.length());
+	    
+	    
+                        // All is ok: constructing the FOR
             parseElt = new TMLParserSaveElt();
             parseElt.type = TMLParserSaveElt.FOR;
             parses.add(0, parseElt);
             TMLForLoop loop = new TMLForLoop("loop", null);
-            loop.setInit(forps[0].trim());
-            loop.setCondition(forps[1].trim());
-            loop.setIncrement(forps[2].trim());
+            loop.setInit(init);
+            loop.setCondition(condition);
+            loop.setIncrement(increment);
             task.getActivityDiagram().addElement(loop);
             parseElt.tmlae = loop;
             tmlae.addNext(loop);
diff --git a/src/tmltranslator/tomappingsystemc2/DiploSimulatorCodeGenerator.java b/src/tmltranslator/tomappingsystemc2/DiploSimulatorCodeGenerator.java
index 9c81cfadf82359d571d7f3aa764c03ca6e49d06c..af91282a725b11c925162df291d172369f78f83a 100644
--- a/src/tmltranslator/tomappingsystemc2/DiploSimulatorCodeGenerator.java
+++ b/src/tmltranslator/tomappingsystemc2/DiploSimulatorCodeGenerator.java
@@ -108,6 +108,9 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
 
     DiploSimulatorCodeGenerator(TMLMapping _tmlmapping, List<EBRDD> _ebrdds, List<TEPE> _tepes) {
         tmlmapping = _tmlmapping;
+	if (tmlmapping == null) {
+	    TraceManager.addDev("null mapping");
+	}
         tmlmapping.handleCPs();
         tmlmapping.removeForksAndJoins();
         tmlmapping.makeMinimumMapping();