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 310d366..3d5a5d4 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
@@ -194,8 +194,8 @@
         NodeId master = partitionService.getLeader(key);
         NodeId origin = (data != null) ? data.origin() : null;
         if (master == null || origin == null) {
-            log.warn("Intent {} has no home; master = {}, origin = {}",
-                     key, master, origin);
+            log.debug("Intent {} missing master and/or origin; master = {}, origin = {}",
+                      key, master, origin);
         }
 
         NodeId me = clusterService.getLocalNode().id();
@@ -208,7 +208,7 @@
         } else if (isOrigin) {
             return master != null ? ImmutableList.of(master) : getRandomNode();
         } else {
-            log.warn("Not master or origin for intent {}", key);
+            log.warn("No master or origin for intent {}", key);
             return master != null ? ImmutableList.of(master) : getRandomNode();
         }
     }
