diff --git a/apps/circuitpusher/circuitpusher.py b/apps/circuitpusher/circuitpusher.py
index 6c1af0e83a1dfdb4def897e2295051f606d296eb..344ecd96029ab9494d9672257affa358c58519d6 100755
--- a/apps/circuitpusher/circuitpusher.py
+++ b/apps/circuitpusher/circuitpusher.py
@@ -94,14 +94,26 @@ if args.action=='add':
     result = os.popen(command).read()
     parsedResult = json.loads(result)
     print command+"\n"
-    sourceSwitch = parsedResult[0]['attachmentPoint'][0]['switchDPID']
+    
+    try:
+    	sourceSwitch = parsedResult[0]['attachmentPoint'][0]['switchDPID']
+    except IndexError:
+	print "ERROR : the specified end point (%s) must already been known to the controller (i.e., already have sent packets on the network, easy way to assure this is to do a ping (to any target) from the two hosts." % (args.srcAddress)
+	sys.exit()
+
     sourcePort = parsedResult[0]['attachmentPoint'][0]['port']
     
     command = "curl -s http://%s/wm/device/?ipv4=%s" % (args.controllerRestIp, args.dstAddress)
     result = os.popen(command).read()
     parsedResult = json.loads(result)
     print command+"\n"
-    destSwitch = parsedResult[0]['attachmentPoint'][0]['switchDPID']
+
+    try:
+        destSwitch = parsedResult[0]['attachmentPoint'][0]['switchDPID']
+    except IndexError:
+        print "ERROR : the specified end point (%s) must already been known to the controller (i.e., already have sent packets on the network, easy way to assure this is to do a ping (to any target) from the two hosts." % (args.dstAddress) 
+        sys.exit()
+ 
     destPort = parsedResult[0]['attachmentPoint'][0]['port']
     
     print "Creating circuit:"
diff --git a/src/main/java/net/floodlightcontroller/topology/Cluster.java b/src/main/java/net/floodlightcontroller/topology/Cluster.java
index eb1489fb1a99a5c1b6efcacb8c8f74f885cd4616..e4ea23b8c97673f1d764b58211dd54f71f07b77c 100644
--- a/src/main/java/net/floodlightcontroller/topology/Cluster.java
+++ b/src/main/java/net/floodlightcontroller/topology/Cluster.java
@@ -58,16 +58,10 @@ public class Cluster {
     }
 
     void addLink(Link l) {
-        if (links.containsKey(l.getSrc()) == false) {
-            links.put(l.getSrc(), new HashSet<Link>());
-            if (l.getSrc() < id) id = l.getSrc();
-        }
+        add(l.getSrc());
         links.get(l.getSrc()).add(l);
 
-        if (links.containsKey(l.getDst()) == false) {
-            links.put(l.getDst(), new HashSet<Link>());
-            if (l.getDst() < id) id = l.getDst();
-        }
+        add(l.getDst());
         links.get(l.getDst()).add(l);
      }
 
diff --git a/src/main/java/org/sdnplatform/sync/internal/config/FallbackCCProvider.java b/src/main/java/org/sdnplatform/sync/internal/config/FallbackCCProvider.java
index fcdfb6fafc76e25a3f29154828b2072cd8449a03..09278ae2c76ae9182858cd7f3bc7afd8e4f9ebe2 100644
--- a/src/main/java/org/sdnplatform/sync/internal/config/FallbackCCProvider.java
+++ b/src/main/java/org/sdnplatform/sync/internal/config/FallbackCCProvider.java
@@ -25,6 +25,7 @@ public class FallbackCCProvider implements IClusterConfigProvider {
     AuthScheme authScheme;
     String keyStorePath;
     String keyStorePassword;
+    int syncPort = 6642;
     
     public FallbackCCProvider() throws SyncException {
         
@@ -43,7 +44,7 @@ public class FallbackCCProvider implements IClusterConfigProvider {
         }
         return new ClusterConfig(Collections.
                                  singletonList(new Node("localhost",
-                                                        6642,
+                                                        syncPort,
                                                         Short.MAX_VALUE,
                                                         Short.MAX_VALUE)),
                                                         Short.MAX_VALUE,
@@ -61,6 +62,7 @@ public class FallbackCCProvider implements IClusterConfigProvider {
         authScheme = AuthScheme.NO_AUTH;
         try {
             authScheme = AuthScheme.valueOf(config.get("authScheme"));
+            syncPort = Integer.parseInt(config.get("port"));
         } catch (Exception e) {}
     }
 }