diff --git a/src/main/java/net/floodlightcontroller/devicemanager/internal/IndexedEntity.java b/src/main/java/net/floodlightcontroller/devicemanager/internal/IndexedEntity.java
index 7a128e6259bb07f185a1c631f61288811ec82540..e9b9ac8a00940b0e3cb0fd7bcf23dd7e4a664d53 100644
--- a/src/main/java/net/floodlightcontroller/devicemanager/internal/IndexedEntity.java
+++ b/src/main/java/net/floodlightcontroller/devicemanager/internal/IndexedEntity.java
@@ -104,6 +104,9 @@ public class IndexedEntity {
         if (obj == null) return false;
         if (getClass() != obj.getClass()) return false;
         IndexedEntity other = (IndexedEntity) obj;
+        
+        if (!keyFields.equals(other.keyFields))
+            return false;
 
         for (IDeviceService.DeviceField f : keyFields) {
             switch (f) {