diff --git a/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/mcast/McastHandler.java b/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/mcast/McastHandler.java
index 3962053..f5247af 100644
--- a/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/mcast/McastHandler.java
+++ b/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/mcast/McastHandler.java
@@ -948,7 +948,7 @@
                                                       ConnectPoint source) {
         final Set<ConnectPoint> sinksToBeProcessed = Sets.newHashSet();
         prevsinks.forEach(((hostId, connectPoints) -> {
-            if (HostId.NONE.equals(hostId)) {
+            if (Objects.equal(HostId.NONE, hostId)) {
                 //in this case connect points are single homed sinks.
                 //just found the difference btw previous and new sinks for this source.
                 Set<ConnectPoint> difference = Sets.difference(connectPoints, newSinks.get(hostId));
@@ -1020,7 +1020,7 @@
         final Set<ConnectPoint> sinksToBeProcessed = Sets.newHashSet();
         sinks.forEach(((hostId, connectPoints) -> {
             //add all connect points that are not tied with any host
-            if (hostId.equals(HostId.NONE)) {
+            if (Objects.equal(HostId.NONE, hostId)) {
                 sinksToBeProcessed.addAll(connectPoints);
                 return;
             }
