diff --git a/core/store/dist/src/main/java/org/onosproject/store/intent/impl/GossipIntentStore.java b/core/store/dist/src/main/java/org/onosproject/store/intent/impl/GossipIntentStore.java
index cb4e947..9b38f44 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/intent/impl/GossipIntentStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/intent/impl/GossipIntentStore.java
@@ -276,8 +276,8 @@
     }
 
     @Override
-    public boolean isMaster(Intent intent) {
-        return partitionService.isMine(intent.key());
+    public boolean isMaster(Key intentKey) {
+        return partitionService.isMine(intentKey);
     }
 
     private void notifyDelegateIfNotNull(IntentEvent event) {
@@ -308,7 +308,7 @@
                 // The pending intents map has been updated. If we are master for
                 // this intent's partition, notify the Manager that it should do
                 // some work.
-                if (isMaster(event.value().intent())) {
+                if (isMaster(event.value().intent().key())) {
                     if (delegate != null) {
                         delegate.process(copyData(event.value()));
                     }
diff --git a/core/store/dist/src/main/java/org/onosproject/store/intent/impl/SimpleIntentStore.java b/core/store/dist/src/main/java/org/onosproject/store/intent/impl/SimpleIntentStore.java
index 8778e93..5f1cbd4 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/intent/impl/SimpleIntentStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/intent/impl/SimpleIntentStore.java
@@ -252,7 +252,7 @@
     }
 
     @Override
-    public boolean isMaster(Intent intent) {
+    public boolean isMaster(Key intentKey) {
         return true;
     }
 }
