diff --git a/src/main/java/avatartranslator/AvatarStateMachine.java b/src/main/java/avatartranslator/AvatarStateMachine.java
index 84d34ac3ce0b1eac4e37857706e12d3eb0a8eeef..893d042cdbe63b3d682928f8ba47a574c41e9550 100644
--- a/src/main/java/avatartranslator/AvatarStateMachine.java
+++ b/src/main/java/avatartranslator/AvatarStateMachine.java
@@ -541,16 +541,19 @@ public class AvatarStateMachine extends AvatarElement {
                 if (elt.getNext(0) instanceof AvatarTransition) {
                     AvatarTransition tr = (AvatarTransition) elt.getNext(0);
                     // We create an intermediate state
-                    AvatarState state = new AvatarState("IntermediateState4__" + id, elt.getReferenceObject(), _block);
+                    //AvatarState state = new AvatarState("IntermediateState4__" + id, elt.getReferenceObject(), _block);
+                    AvatarState state = new AvatarState("IntermediateState4__" + id, null, _block);
                     state.setCommit(true);
                     toAdd.add(state);
-                    AvatarTransition at1 = new AvatarTransition(_block, "TransitionForIntermediateState4__" + id, elt.getReferenceObject());
+                    //AvatarTransition at1 = new AvatarTransition(_block, "TransitionForIntermediateState4__" + id, elt.getReferenceObject());
+                    AvatarTransition at1 = new AvatarTransition(_block, "TransitionForIntermediateState4__" + id, null);
                     toAdd.add(at1);
 
                     elt.removeAllNexts();
                     elt.addNext(at1);
                     at1.addNext(state);
                     state.addNext(tr);
+                    tr.setReferenceObject(null);
 
                     id++;
                 }
diff --git a/src/main/java/avatartranslator/AvatarStateMachineElement.java b/src/main/java/avatartranslator/AvatarStateMachineElement.java
index 72679d4532ef8171566a0fb267ea27895e731800..41b7cb5c007cb6ff7ac83d27193c91f1684a9f5b 100644
--- a/src/main/java/avatartranslator/AvatarStateMachineElement.java
+++ b/src/main/java/avatartranslator/AvatarStateMachineElement.java
@@ -255,7 +255,7 @@ public abstract class AvatarStateMachineElement extends AvatarElement implements
         int cpt = 0;
         for (AvatarStateMachineElement element : nexts) {
             if (element != null) {
-                ret += cpt + ":" + element.getName() + "/ ID=" + element.getID() + " ";
+                ret += "" + cpt + ": " + element.getName() + "/ ID=" + element.getID() + " ";
                 cpt++;
             }
         }
diff --git a/src/main/java/ui/AvatarPanelDrawer.java b/src/main/java/ui/AvatarPanelDrawer.java
index 561efaacbf10b34e05b09c6a4618d5bdeedcbc86..cda9edcf45565c35bbda115b551afd09a2884e27 100644
--- a/src/main/java/ui/AvatarPanelDrawer.java
+++ b/src/main/java/ui/AvatarPanelDrawer.java
@@ -481,7 +481,8 @@ public class AvatarPanelDrawer {
 
 			if ((p1 == null) || (p2 == null)) {
 				if (p1 == null) {
-					p1 = tranSourceMap.get(t).closerFreeTGConnectingPoint(x, y, false, true);
+					p1 = tranSourceMap.get(t).closerFreeTGConnectingPointNoOverlay(x, y, false, true);
+					//p1 = tranSourceMap.get(t).closerFreeTGConnectingPoint(x, y, false, true);
 					if (p1 == null) {
 						TraceManager.addDev("NULL P1 in " + tranSourceMap.get(t).getName() + "/" + tranSourceMap.get(t).getValue());
 						p1 = tranSourceMap.get(t).findFirstFreeTGConnectingPoint(true, false);
@@ -499,7 +500,8 @@ public class AvatarPanelDrawer {
 					}
 				}
 				if (p2 == null) {
-					p2 = locMap.get(tranDestMap.get(t)).closerFreeTGConnectingPoint(x, y, true, false);
+					p2 = locMap.get(tranDestMap.get(t)).closerFreeTGConnectingPointNoOverlay(x, y, true, false);
+					//p2 = locMap.get(tranDestMap.get(t)).closerFreeTGConnectingPoint(x, y, true, false);
 					if (p2 == null) {
 						TraceManager.addDev("NULL P2 in " + locMap.get(tranDestMap.get(t)).getName() + "/" + locMap.get(tranDestMap.get(t)).getValue());
 						p2 = locMap.get(tranDestMap.get(t)).findFirstFreeTGConnectingPoint(false, true);
diff --git a/src/main/java/ui/window/JDialogAvatarModelChecker.java b/src/main/java/ui/window/JDialogAvatarModelChecker.java
index cfa15a691f65276aac3fd3c008704649e47dd720..1fa768511bbe347616639e91d81491b4e730c23e 100644
--- a/src/main/java/ui/window/JDialogAvatarModelChecker.java
+++ b/src/main/java/ui/window/JDialogAvatarModelChecker.java
@@ -887,13 +887,8 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act
         try {
             reinitValues();
             jta.append("Starting the model checker\n");
-
             amc = new AvatarModelChecker(spec);
 
-            if (nbOfThreads < Integer.MAX_VALUE) {
-                TraceManager.addDev("Setting the nb of thrads to:" + nbOfThreads);
-                amc.setMaxNbOfThreads(nbOfThreads);
-            }
 
             if (generateDesignSelected) {
                 TraceManager.addDev("Drawing non modified avatar spec");
@@ -943,6 +938,14 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act
                 mgui.addRG(rg);
             }
 
+
+            if (nbOfThreads < Integer.MAX_VALUE) {
+                TraceManager.addDev("Setting the nb of threads to:" + nbOfThreads);
+                amc.setMaxNbOfThreads(nbOfThreads);
+            }
+
+
+
             endDate = null;
             previousNbOfStates = 0;
             startDate = new Date();