diff --git a/src/main/java/net/floodlightcontroller/topology/TopologyManager.java b/src/main/java/net/floodlightcontroller/topology/TopologyManager.java
index 2c9bfe2a28d4f9d3fd2a4ec4a83e15fc0fef0e21..51bbd017ee3afc218fa8bff233c68cf1c604b5fc 100644
--- a/src/main/java/net/floodlightcontroller/topology/TopologyManager.java
+++ b/src/main/java/net/floodlightcontroller/topology/TopologyManager.java
@@ -837,12 +837,18 @@ public class TopologyManager implements
         return Command.STOP;
     }
 
+
+    /**
+     * Updates concerning switch disconnect and port down are not processed.
+     * LinkDiscoveryManager is expected to process those messages and send
+     * multiple link removed messages.  However, all the updates from
+     * LinkDiscoveryManager would be propagated to the listeners of topology.
+     */
     @LogMessageDoc(level="ERROR",
             message="Error reading link discovery update.",
             explanation="Unable to process link discovery update",
             recommendation=LogMessageDoc.REPORT_CONTROLLER_BUG)
     public void applyUpdates() {
-
         appliedUpdates.clear();
         LDUpdate update = null;
         while (ldUpdates.peek() != null) {
@@ -861,12 +867,7 @@ public class TopologyManager implements
             } else if (update.getOperation() == UpdateOperation.LINK_REMOVED){
                 removeLink(update.getSrc(), update.getSrcPort(), 
                            update.getDst(), update.getDstPort());
-            } else if (update.getOperation() == UpdateOperation.SWITCH_REMOVED) {
-                removeSwitch(update.getSrc());
-            } else if (update.getOperation() == UpdateOperation.PORT_DOWN) {
-                removeSwitchPort(update.getSrc(), update.getSrcPort());
             }
-
             // Add to the list of applied updates.
             appliedUpdates.add(update);
         }