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 884d86a..3c42346 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
@@ -176,8 +176,12 @@
         if (IntentData.isUpdateAcceptable(currentData, newData)) {
             // Only the master is modifying the current state. Therefore assume
             // this always succeeds
-            if (newData.state() == PURGE_REQ && currentData != null) {
-                currentMap.remove(newData.key(), currentData);
+            if (newData.state() == PURGE_REQ) {
+                if (currentData != null) {
+                    currentMap.remove(newData.key(), currentData);
+                } else {
+                    log.info("Gratuitous purge request for intent: {}", newData.key());
+                }
             } else {
                 currentMap.put(newData.key(), new IntentData(newData));
             }
