diff --git a/src/main/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImpl.java b/src/main/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImpl.java
index 472a8b13d8c3b337964d773c29d664b494780c83..92bd7c338266768fb0c32fa82854d7bc6d7777b1 100755
--- a/src/main/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImpl.java
+++ b/src/main/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImpl.java
@@ -1350,7 +1350,8 @@ public class DeviceManagerImpl implements IDeviceManager, IOFMessageListener,
 
         // Get only the latest DAPs into a map
         for (DeviceAttachmentPoint dap : d.getAttachmentPoints()) {
-            if (DeviceAttachmentPoint.isNotNull(dap)) {
+            if (DeviceAttachmentPoint.isNotNull(dap) &&
+                            !topology.isInternal(dap.getSwitchPort())) {
                 long clusterId = 
                             dap.getSwitchPort().getSw().getSwitchClusterId();
                 if (map.containsKey(clusterId)) {
@@ -1358,8 +1359,7 @@ public class DeviceManagerImpl implements IDeviceManager, IOFMessageListener,
                     // point to "old" list.
                     // They are removed after deleting from storage.
                     DeviceAttachmentPoint value = map.get(clusterId);
-                    if (dap.getLastSeen().after(value.getLastSeen()) && 
-                            !topology.isInternal(dap.getSwitchPort())) {
+                    if (dap.getLastSeen().after(value.getLastSeen())) { 
                         map.put(clusterId, dap);
                         d.addOldAttachmentPoint(value); // on copy of device
                     }