diff --git a/src/main/java/net/floodlightcontroller/topology/TopologyInstance.java b/src/main/java/net/floodlightcontroller/topology/TopologyInstance.java
index 8a5f22c3718e453c90643043dba5bb3e9703a8ac..fdfd66121251e32b6f9db90a0899a146876eb7fa 100644
--- a/src/main/java/net/floodlightcontroller/topology/TopologyInstance.java
+++ b/src/main/java/net/floodlightcontroller/topology/TopologyInstance.java
@@ -160,9 +160,9 @@ public class TopologyInstance {
         for (Long sw: switches) {
             ClusterDFS cdfs = dfsList.get(sw);
             if (cdfs == null) {
-                log.error("Do DFS object for switch {} found.", sw);
+                log.error("No DFS object for switch {} found.", sw);
             }else if (!cdfs.isVisited()) {
-                dfsTraverse(0, 1, sw, switches, dfsList, currSet, clusters);
+                dfsTraverse(0, 1, sw, dfsList, currSet);
             }
         }
     }
@@ -171,7 +171,7 @@ public class TopologyInstance {
     /**
      * @author Srinivasan Ramasubramanian
      *
-     * This algorithm computes the depth first search (DFS) travesral of the
+     * This algorithm computes the depth first search (DFS) traversal of the
      * switches in the network, computes the lowpoint, and creates clusters
      * (of strongly connected components).
      *
@@ -192,17 +192,13 @@ public class TopologyInstance {
      * @param parentIndex: DFS index of the parent node
      * @param currIndex: DFS index to be assigned to a newly visited node
      * @param currSw: ID of the current switch
-     * @param switches: Set of switch IDs in the network
      * @param dfsList: HashMap of DFS data structure for each switch
      * @param currSet: Set of nodes in the current cluster in formation
-     * @param clusters: Set of already formed clusters
      * @return long: DSF index to be used when a new node is visited
      */
 
-    private long dfsTraverse (long parentIndex, long currIndex,
-                              long currSw, Set<Long> switches,
-                              Map<Long, ClusterDFS> dfsList, Set <Long> currSet,
-                              Set <Cluster> clusters) {
+    private long dfsTraverse (long parentIndex, long currIndex, long currSw,
+                              Map<Long, ClusterDFS> dfsList, Set <Long> currSet) {
 
         //Get the DFS object corresponding to the current switch
         ClusterDFS currDFS = dfsList.get(currSw);
@@ -244,7 +240,7 @@ public class TopologyInstance {
                     } else if (!dstDFS.isVisited()) {
                         // make a DFS visit
                         currIndex = dfsTraverse(currDFS.getDfsIndex(), currIndex, dstSw,
-                                                switches, dfsList, currSet, clusters);
+                                                dfsList, currSet);
 
                         if (currIndex < 0) return -1;
 
@@ -286,8 +282,7 @@ public class TopologyInstance {
     public boolean isBroadcastDomainLink(Link l) {
         NodePortTuple n1 = new NodePortTuple(l.getSrc(), l.getSrcPort());
         NodePortTuple n2 = new NodePortTuple(l.getDst(), l.getDstPort());
-        return (broadcastDomainPorts.contains(n1) ||
-                broadcastDomainPorts.contains(n2));
+        return (isBroadcastDomainPort(n1) || isBroadcastDomainPort(n2));
     }
 
     public boolean isBroadcastDomainPort(NodePortTuple npt) {
@@ -389,7 +384,6 @@ public class TopologyInstance {
         for(Cluster c: clusters) {
             // c.id is the smallest node that's in the cluster
             BroadcastTree tree = clusterBroadcastTrees.get(c.id);
-            clusterBroadcastTrees.put(c.id, tree);
             //log.info("Broadcast Tree {}", tree);
 
             Set<NodePortTuple> nptSet = new HashSet<NodePortTuple>();
diff --git a/src/main/java/net/floodlightcontroller/topology/TopologyManager.java b/src/main/java/net/floodlightcontroller/topology/TopologyManager.java
index 4583f80480f30b423b279d171d66baf69b1a121f..cd0392a3d954fe936884ce6128a4d9cad61951fe 100644
--- a/src/main/java/net/floodlightcontroller/topology/TopologyManager.java
+++ b/src/main/java/net/floodlightcontroller/topology/TopologyManager.java
@@ -51,7 +51,7 @@ IRoutingService, ILinkDiscoveryListener {
     protected BlockingQueue<LDUpdate> ldUpdates;
     protected TopologyInstance currentInstance;
     protected SingletonTask newInstanceTask;
-
+    
     /**
      * Thread for recomputing topology.  The thread is always running, 
      * however the function applyUpdates() has a blocking call.
@@ -195,27 +195,27 @@ IRoutingService, ILinkDiscoveryListener {
         removeLinkFromStructure(tunnelLinks, link);
         removeLinkFromStructure(switchPortLinks, link);
 
-        NodePortTuple n1 = new NodePortTuple(link.getSrc(), link.getSrcPort());
-        NodePortTuple n2 = new NodePortTuple(link.getDst(), link.getDstPort());
+        NodePortTuple srcNpt = new NodePortTuple(link.getSrc(), link.getSrcPort());
+        NodePortTuple dstNpt = new NodePortTuple(link.getDst(), link.getDstPort());
 
         // Remove switch ports if there are no links through those switch ports
-        if (switchPortLinks.get(n1) == null) {
-            if (switchPorts.get(link.getSrc()) != null)
-                switchPorts.get(link.getSrc()).remove(link.getSrcPort());
+        if (switchPortLinks.get(srcNpt) == null) {
+            if (switchPorts.get(srcNpt.getNodeId()) != null)
+                switchPorts.get(srcNpt.getNodeId()).remove(srcNpt.getPortId());
         }
-        if (switchPortLinks.get(n2) == null) {
-            if (switchPorts.get(link.getDst()) != null)
-                switchPorts.get(link.getDst()).remove(link.getDstPort());
+        if (switchPortLinks.get(dstNpt) == null) {
+            if (switchPorts.get(dstNpt.getNodeId()) != null)
+                switchPorts.get(dstNpt.getNodeId()).remove(dstNpt.getPortId());
         }
 
         // Remove the node if no ports are present
-        if (switchPorts.get(link.getSrc())!=null && 
-                switchPorts.get(link.getSrc()).isEmpty()) {
-            switchPorts.remove(link.getSrc());
+        if (switchPorts.get(srcNpt.getNodeId())!=null && 
+                switchPorts.get(srcNpt.getNodeId()).isEmpty()) {
+            switchPorts.remove(srcNpt.getNodeId());
         }
-        if (switchPorts.get(link.getDst())!=null && 
-                switchPorts.get(link.getDst()).isEmpty()) {
-            switchPorts.remove(link.getDst());
+        if (switchPorts.get(dstNpt.getNodeId())!=null && 
+                switchPorts.get(dstNpt.getNodeId()).isEmpty()) {
+            switchPorts.remove(dstNpt.getNodeId());
         }
     }