diff --git a/protocols/p4runtime/ctl/src/main/java/org/onosproject/p4runtime/ctl/client/StreamClientImpl.java b/protocols/p4runtime/ctl/src/main/java/org/onosproject/p4runtime/ctl/client/StreamClientImpl.java
index 5d227e4..5c64a0c 100644
--- a/protocols/p4runtime/ctl/src/main/java/org/onosproject/p4runtime/ctl/client/StreamClientImpl.java
+++ b/protocols/p4runtime/ctl/src/main/java/org/onosproject/p4runtime/ctl/client/StreamClientImpl.java
@@ -181,12 +181,21 @@
                         ARBITRATION_RETRY_SECONDS, TimeUnit.SECONDS);
             } else {
                 // Send now.
-                log.info("Setting mastership on {}... " +
-                                 "master={}, newElectionId={}, " +
-                                 "masterElectionId={}, sessionOpen={}",
-                         deviceId, requestedToBeMaster.get(),
-                         pendingElectionId, masterElectionId,
-                         streamChannelManager.isOpen());
+                if (log.isDebugEnabled()) {
+                    log.debug("Setting mastership on {}... " +
+                                    "master={}, newElectionId={}, " +
+                                    "masterElectionId={}, sessionOpen={}",
+                            deviceId, requestedToBeMaster.get(),
+                            pendingElectionId, masterElectionId,
+                            streamChannelManager.isOpen());
+                } else if (!pendingElectionId.equals(lastUsedElectionId)) {
+                    log.info("Setting mastership on {}... " +
+                                    "master={}, newElectionId={}, " +
+                                    "masterElectionId={}, sessionOpen={}",
+                            deviceId, requestedToBeMaster.get(),
+                            pendingElectionId, masterElectionId,
+                            streamChannelManager.isOpen());
+                }
                 // Optimistically set the reported master status, if wrong, it
                 // will be updated by the arbitration response. This alleviates
                 // race conditions when calling isMaster() right after setting
