diff --git a/core/api/src/main/java/org/onosproject/net/OchPort.java b/core/api/src/main/java/org/onosproject/net/OchPort.java
index eb956f2..94d4d32 100644
--- a/core/api/src/main/java/org/onosproject/net/OchPort.java
+++ b/core/api/src/main/java/org/onosproject/net/OchPort.java
@@ -87,7 +87,9 @@
         if (this == obj) {
             return true;
         }
-        if (obj instanceof OchPort) {
+
+        // Subclass is considered as a change of identity, hence equals() will return false if class type don't match
+        if (obj != null && getClass() == obj.getClass()) {
             final OchPort other = (OchPort) obj;
             return Objects.equals(this.element().id(), other.element().id()) &&
                     Objects.equals(this.number(), other.number()) &&
diff --git a/core/api/src/main/java/org/onosproject/net/OduCltPort.java b/core/api/src/main/java/org/onosproject/net/OduCltPort.java
index e5602f3..f51393a 100644
--- a/core/api/src/main/java/org/onosproject/net/OduCltPort.java
+++ b/core/api/src/main/java/org/onosproject/net/OduCltPort.java
@@ -71,7 +71,7 @@
         if (this == obj) {
             return true;
         }
-        if (obj instanceof OduCltPort) {
+        if (obj != null && getClass() == obj.getClass()) {
             final OduCltPort other = (OduCltPort) obj;
             return Objects.equals(this.element().id(), other.element().id()) &&
                     Objects.equals(this.number(), other.number()) &&
diff --git a/core/api/src/main/java/org/onosproject/net/OmsPort.java b/core/api/src/main/java/org/onosproject/net/OmsPort.java
index 753834b..d37fe75 100644
--- a/core/api/src/main/java/org/onosproject/net/OmsPort.java
+++ b/core/api/src/main/java/org/onosproject/net/OmsPort.java
@@ -102,7 +102,7 @@
         if (this == obj) {
             return true;
         }
-        if (obj instanceof OmsPort) {
+        if (obj != null && getClass() == obj.getClass()) {
             final OmsPort other = (OmsPort) obj;
             return Objects.equals(this.element().id(), other.element().id()) &&
                     Objects.equals(this.number(), other.number()) &&
