diff --git a/src/main/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImpl.java b/src/main/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImpl.java
index b27588811e0d115ac13a772f881374fa03bb41b0..390a7affcb4984478ab0d1e9670e1bc3be4673c6 100755
--- a/src/main/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImpl.java
+++ b/src/main/java/net/floodlightcontroller/devicemanager/internal/DeviceManagerImpl.java
@@ -1663,10 +1663,18 @@ public class DeviceManagerImpl implements IDeviceManagerService, IOFMessageListe
         }
 
         synchronized (d) {
-            // Since the update below is happening on a copy of the device it
-            // should not impact packetIn processing time due to lock contention
+            /**
+             * Since the update below is happening on a copy of the device it
+             * should not impact packetIn processing time due to lock contention
+             *
+             * Also make sure the attachmentPoints are in non-blocked state
+             */
+            for (DeviceAttachmentPoint dap: tempAPMap.values()) {
+                dap.setBlocked(false);
+            }
             d.setAttachmentPoints(tempAPMap.values());
             for (DeviceAttachmentPoint dap : tempOldAPMap.values()) {
+                dap.setBlocked(false);
                 d.addOldAttachmentPoint(dap);
             }