diff --git a/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/IsisChannelHandler.java b/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/IsisChannelHandler.java
index 38e98d1..14cb2db 100644
--- a/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/IsisChannelHandler.java
+++ b/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/IsisChannelHandler.java
@@ -110,21 +110,21 @@
                     isisInterfaceMap.put(isisUpdatedInterface.interfaceIndex(), isisUpdatedInterface);
                     interfaceIps.add(isisUpdatedInterface.interfaceIpAddress());
                 } else {
-                    if (isisInterface.intermediateSystemName() != isisUpdatedInterface.intermediateSystemName()) {
+                    if (!isisInterface.intermediateSystemName().equals(isisUpdatedInterface.intermediateSystemName())) {
                         isisInterface.setIntermediateSystemName(isisUpdatedInterface.intermediateSystemName());
                     }
                     if (isisInterface.reservedPacketCircuitType() != isisUpdatedInterface.reservedPacketCircuitType()) {
                         isisInterface.setReservedPacketCircuitType(isisUpdatedInterface.reservedPacketCircuitType());
                         isisInterface.removeNeighbors();
                     }
-                    if (isisInterface.circuitId() != isisUpdatedInterface.circuitId()) {
+                    if (!isisInterface.circuitId().equals(isisUpdatedInterface.circuitId())) {
                         isisInterface.setCircuitId(isisUpdatedInterface.circuitId());
                     }
                     if (isisInterface.networkType() != isisUpdatedInterface.networkType()) {
                         isisInterface.setNetworkType(isisUpdatedInterface.networkType());
                         isisInterface.removeNeighbors();
                     }
-                    if (isisInterface.areaAddress() != isisUpdatedInterface.areaAddress()) {
+                    if (!isisInterface.areaAddress().equals(isisUpdatedInterface.areaAddress())) {
                         isisInterface.setAreaAddress(isisUpdatedInterface.areaAddress());
                     }
                     if (isisInterface.holdingTime() != isisUpdatedInterface.holdingTime()) {
