diff --git a/src/main/java/avatartranslator/AvatarStateMachine.java b/src/main/java/avatartranslator/AvatarStateMachine.java
index 893d042cdbe63b3d682928f8ba47a574c41e9550..f8cd8705ce286bf727a6933bbc2bb15e024e5e8f 100644
--- a/src/main/java/avatartranslator/AvatarStateMachine.java
+++ b/src/main/java/avatartranslator/AvatarStateMachine.java
@@ -554,6 +554,7 @@ public class AvatarStateMachine extends AvatarElement {
                     at1.addNext(state);
                     state.addNext(tr);
                     tr.setReferenceObject(null);
+                    tr.getOtherReferenceObjects().clear();
 
                     id++;
                 }
@@ -594,7 +595,8 @@ public class AvatarStateMachine extends AvatarElement {
                             previous.addNext(at1);
                             at1.addNext(state);
                             state.addNext(tr);
-
+                            tr.setReferenceObject(null);
+                            tr.getOtherReferenceObjects().clear();
                             id++;
                         }
                     }
@@ -635,6 +637,8 @@ public class AvatarStateMachine extends AvatarElement {
                         previous.addNext(at1);
                         at1.addNext(state);
                         state.addNext(tr);
+                        tr.setReferenceObject(null);
+                        tr.getOtherReferenceObjects().clear();
 
                         id++;
                     }
@@ -679,6 +683,8 @@ public class AvatarStateMachine extends AvatarElement {
 
                         tr.removeAllNexts();
                         tr.addNext(state);
+                        tr.setReferenceObject(null);
+                        tr.getOtherReferenceObjects().clear();
                         state.addNext(at1);
                         at1.addNext(next);
 
@@ -713,6 +719,8 @@ public class AvatarStateMachine extends AvatarElement {
                         previous.addNext(at1);
                         at1.addNext(state);
                         state.addNext(tr);
+                        tr.setReferenceObject(null);
+                        tr.getOtherReferenceObjects().clear();
                         id++;
                     }
                 }
diff --git a/src/main/java/ui/AvatarPanelDrawer.java b/src/main/java/ui/AvatarPanelDrawer.java
index cda9edcf45565c35bbda115b551afd09a2884e27..b67665d6e746aeb8e244270646e0f75ae6e3daf4 100644
--- a/src/main/java/ui/AvatarPanelDrawer.java
+++ b/src/main/java/ui/AvatarPanelDrawer.java
@@ -481,7 +481,7 @@ public class AvatarPanelDrawer {
 
 			if ((p1 == null) || (p2 == null)) {
 				if (p1 == null) {
-					p1 = tranSourceMap.get(t).closerFreeTGConnectingPointNoOverlay(x, y, false, true);
+					p1 = tranSourceMap.get(t).closerFreeTGConnectingPointNoOverlay(x, y, true, false);
 					//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());
@@ -500,7 +500,7 @@ public class AvatarPanelDrawer {
 					}
 				}
 				if (p2 == null) {
-					p2 = locMap.get(tranDestMap.get(t)).closerFreeTGConnectingPointNoOverlay(x, y, true, false);
+					p2 = locMap.get(tranDestMap.get(t)).closerFreeTGConnectingPointNoOverlay(x, y, false, true);
 					//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());