diff --git a/src/translator/ADParallel.java b/src/translator/ADParallel.java
index 10a562343c4c023e90f80ad57f9868822104393b..f7a9706a9dfa4797638b901e6a8fc2bbeeb9e6ae 100755
--- a/src/translator/ADParallel.java
+++ b/src/translator/ADParallel.java
@@ -143,6 +143,9 @@ public class ADParallel extends ADComponent implements NonBlockingADComponent, M
     }
     
     public int nbGate() {
+		if (synchroGate == null) {
+			return 0;
+		}
         return synchroGate.size();
     }
     
diff --git a/src/translator/TURTLEModelChecker.java b/src/translator/TURTLEModelChecker.java
index 76381067732a8acee2d694b885ba1096f531d0cf..fc2b5826a59f67042069aa98c4f0988f43835047 100755
--- a/src/translator/TURTLEModelChecker.java
+++ b/src/translator/TURTLEModelChecker.java
@@ -397,8 +397,10 @@ public class TURTLEModelChecker {
 				}
 				
 				action = ((ADActionStateWithGate)ad1).getActionValue();
-				if (action.length() > 0) {
+				if ((action!= null) && (action.length() > 0)) {
 					parsing(t, ad1, "actiongate", action, errors);
+				} else {
+					System.out.println("null action on gate=" + ((ADActionStateWithGate)ad1).getGate().getName() + action);
 				}
 				
 			} else if (ad1 instanceof ADActionStateWithParam) {
diff --git a/src/translator/TURTLEModeling.java b/src/translator/TURTLEModeling.java
index 87e5e3f6c3e25537cd803dfff9162fecb9001303..5d4c40d8b168647a361bc2bc48a1d5cc2f72643e 100755
--- a/src/translator/TURTLEModeling.java
+++ b/src/translator/TURTLEModeling.java
@@ -797,19 +797,25 @@ public class TURTLEModeling {
 				}
 				if (index2 == -1) {
 					index2 = index3;
+					
 				}
+				
 				index4 = Math.min(index1, index2);
 				index4 = Math.min(index4, index3);
 				
 				if (index4 > 0) {
 					paramName = s.substring(index+1, index4+index+1);
 					paramName = paramName.trim();
-					if (paramName.indexOf(':') == -1) {
-						p = t.getParamByName(paramName);
-						if (p != null) {
-							paramName = paramName + ":" + p.getType();
-						} else {
-							return null;
+					try {
+						int x = Integer.decode(paramName).intValue();
+					} catch (Exception e) {
+						if (paramName.indexOf(':') == -1) {
+							p = t.getParamByName(paramName);
+							if (p != null) {
+								paramName = paramName + ":" + p.getType();
+							} else {
+								return null;
+							}
 						}
 					}
 					ret = ret + c + paramName;
diff --git a/src/translator/touppaal/TURTLE2UPPAAL.java b/src/translator/touppaal/TURTLE2UPPAAL.java
index 4387468a7bd8fc978e7a262826b5b6e8c6652aaf..b3c259043e2235cffdd20c58f22a9e00cef99950 100755
--- a/src/translator/touppaal/TURTLE2UPPAAL.java
+++ b/src/translator/touppaal/TURTLE2UPPAAL.java
@@ -530,7 +530,7 @@ public class TURTLE2UPPAAL {
 			template.addDeclaration(p.getName() + " = " + p.getValue() + ";\n");
 		}
 		
-		//template.addDeclaration("int waitgroupid__;\n");
+		template.addDeclaration("int waitgroupid__;\n");
 		template.addDeclaration("clock h__;\n");
 		
 		for(Gate g:gatesWithInternalSynchro) {
@@ -2252,6 +2252,7 @@ public class TURTLE2UPPAAL {
 		while(iterator.hasNext()) {
 			template = (UPPAALTemplate)(iterator.next());
 			t = tm.getTClassWithName(template.getName());
+			System.out.println("temp=" + template.getName());
 			if (t != null) {
 				if (templatesWithMultipleProcesses.contains(template)) {
 					table.setIds(template, id, id+nb-1);
@@ -2270,6 +2271,7 @@ public class TURTLE2UPPAAL {
 						table.setIds(template, id, id);
 						id += nb;
 					} else {
+						//System.out.println("temp=" + template.getName());
 						dec += template.getName() + "__" + id + " = " + template.getName() + "();\n";
 						system += template.getName() + "__" + id;
 						table.setIds(template, id, id);
@@ -2277,6 +2279,8 @@ public class TURTLE2UPPAAL {
 					}
 				}
 			} else {
+				System.out.println("temp=" + template.getName());
+				template.removeParameter();
 				dec += template.getName() + "__" + id + " = " + template.getName() + "();\n";
 				system += template.getName() + "__" + id;
 			}
diff --git a/src/ui/DesignPanelTranslator.java b/src/ui/DesignPanelTranslator.java
index 00e17cafb192fcf7d4fc72d888b5f7d1a75a578b..166817e8639ffdfe103c376e0a2e94cfffb4184c 100755
--- a/src/ui/DesignPanelTranslator.java
+++ b/src/ui/DesignPanelTranslator.java
@@ -359,11 +359,11 @@ public class DesignPanelTranslator {
 				g = t.getGateFromActionState(s);
 				p = t.getParamFromActionState(s);
 				if ((g != null) && (nbActions == 1)){
-					//System.out.println("Action state with gate found " + g.getName() + " value:" + t.getActionValueFromActionState(s));
+					System.out.println("Action state with gate found " + g.getName() + " value:" + t.getActionValueFromActionState(s));
 					adag = new ADActionStateWithGate(g);
 					ad.addElement(adag);
 					s1 = t.getActionValueFromActionState(s);
-					//System.out.println("s1=" + s1);
+					System.out.println("s1=" + s1);
 					/*if (s1 == null) {
                         System.out.println("oh ho !");
                     }*/
@@ -380,7 +380,7 @@ public class DesignPanelTranslator {
 						return;
 					}
 					s1 = TURTLEModeling.addTypeToDataReceiving(t, s1);
-					//System.out.println("Adding type done s1=" + s1);
+					System.out.println("Adding type done s1=" + s1);
 					adag.setActionValue(s1);
 					listE.addCor(adag, tgc);
 				} else if ((p != null) && (nbActions == 1)){
diff --git a/src/uppaaldesc/UPPAALTemplate.java b/src/uppaaldesc/UPPAALTemplate.java
index 6b38b5f93e66850f4fa4b93fa1153be6bbc39cca..a7bef78701715d29bdc1286a513a435758650141 100755
--- a/src/uppaaldesc/UPPAALTemplate.java
+++ b/src/uppaaldesc/UPPAALTemplate.java
@@ -96,6 +96,12 @@ public class UPPAALTemplate {
 		parameter += _dec;
     }
 	
+	public void removeParameter() {
+		parameter = "";
+    }
+	
+	
+	
     public void setInitLocation(UPPAALLocation _loc) {
 		initLocation = _loc;
     }