diff --git a/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IsIsNonPseudonode.java b/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IsIsNonPseudonode.java
index d5f3e7f..73f28bb 100644
--- a/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IsIsNonPseudonode.java
+++ b/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IsIsNonPseudonode.java
@@ -15,7 +15,7 @@
  */
 package org.onosproject.bgpio.types;
 
-import java.util.Objects;
+import java.util.Arrays;
 
 import org.jboss.netty.buffer.ChannelBuffer;
 import org.onosproject.bgpio.protocol.IGPRouterID;
@@ -65,7 +65,7 @@
 
     @Override
     public int hashCode() {
-        return Objects.hash(isoNodeID);
+        return Arrays.hashCode(isoNodeID);
     }
 
     @Override
@@ -75,7 +75,7 @@
         }
         if (obj instanceof IsIsNonPseudonode) {
             IsIsNonPseudonode other = (IsIsNonPseudonode) obj;
-            return Objects.equals(isoNodeID, other.isoNodeID);
+            return Arrays.equals(isoNodeID, other.isoNodeID);
         }
         return false;
     }
diff --git a/protocols/pcep/pcepio/src/main/java/org/onosproject/pcepio/types/IPv6SubObject.java b/protocols/pcep/pcepio/src/main/java/org/onosproject/pcepio/types/IPv6SubObject.java
index 8e1719e..b3164f2 100644
--- a/protocols/pcep/pcepio/src/main/java/org/onosproject/pcepio/types/IPv6SubObject.java
+++ b/protocols/pcep/pcepio/src/main/java/org/onosproject/pcepio/types/IPv6SubObject.java
@@ -16,7 +16,7 @@
 
 package org.onosproject.pcepio.types;
 
-import java.util.Objects;
+import java.util.Arrays;
 
 import org.jboss.netty.buffer.ChannelBuffer;
 import org.onosproject.pcepio.protocol.PcepVersion;
@@ -168,7 +168,7 @@
 
     @Override
     public int hashCode() {
-        return Objects.hash(rawValue);
+        return Arrays.hashCode(rawValue);
     }
 
     @Override
@@ -178,7 +178,7 @@
         }
         if (obj instanceof IPv6SubObject) {
             IPv6SubObject other = (IPv6SubObject) obj;
-            return Objects.equals(rawValue, other.rawValue);
+            return Arrays.equals(rawValue, other.rawValue);
         }
         return false;
     }
