diff --git a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/grouphandler/DefaultGroupHandler.java b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/grouphandler/DefaultGroupHandler.java
index 031c805..0575fd3 100644
--- a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/grouphandler/DefaultGroupHandler.java
+++ b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/grouphandler/DefaultGroupHandler.java
@@ -115,7 +115,7 @@
 
     protected KryoNamespace.Builder kryo = new KryoNamespace.Builder()
             .register(URI.class).register(HashSet.class)
-            .register(DeviceId.class).register(PortNumber.class)
+            .register(PortNumber.class)
             .register(NeighborSet.class).register(PolicyGroupIdentifier.class)
             .register(PolicyGroupParams.class)
             .register(GroupBucketIdentifier.class)
diff --git a/apps/tetopology/app/src/main/java/org/onosproject/tetopology/management/impl/DistributedTeTopologyStore.java b/apps/tetopology/app/src/main/java/org/onosproject/tetopology/management/impl/DistributedTeTopologyStore.java
index 151df3d..69e533a 100644
--- a/apps/tetopology/app/src/main/java/org/onosproject/tetopology/management/impl/DistributedTeTopologyStore.java
+++ b/apps/tetopology/app/src/main/java/org/onosproject/tetopology/management/impl/DistributedTeTopologyStore.java
@@ -124,7 +124,6 @@
 import org.onosproject.tetopology.management.api.node.TunnelTerminationPoint;
 import org.slf4j.Logger;
 
-import com.esotericsoftware.kryo.serializers.JavaSerializer;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
@@ -212,7 +211,6 @@
                     .register(CommonTopologyData.class)
                     .register(KeyId.class)
                     .register(OptimizationType.class)
-                    .register(new JavaSerializer(), BitSet.class)
                     .register(InternalTeTopology.class)
                     .register(InternalNetwork.class)
                     .register(InternalTerminationPoint.class)
diff --git a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/service/impl/VtnRscManager.java b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/service/impl/VtnRscManager.java
index f6d54a9..f7be744 100644
--- a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/service/impl/VtnRscManager.java
+++ b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/service/impl/VtnRscManager.java
@@ -172,7 +172,7 @@
 
         KryoNamespace.Builder serializer = KryoNamespace.newBuilder()
                 .register(KryoNamespaces.API)
-                .register(TenantId.class, DeviceId.class, SegmentationId.class,
+                .register(TenantId.class, SegmentationId.class,
                           TenantRouter.class, RouterId.class);
         l3vniTenantMap = storageService
                 .<TenantId, SegmentationId>eventuallyConsistentMapBuilder()
diff --git a/utils/misc/src/main/java/org/onlab/util/KryoNamespace.java b/utils/misc/src/main/java/org/onlab/util/KryoNamespace.java
index a38d29c..ed4b066 100644
--- a/utils/misc/src/main/java/org/onlab/util/KryoNamespace.java
+++ b/utils/misc/src/main/java/org/onlab/util/KryoNamespace.java
@@ -480,7 +480,7 @@
                 r = kryo.register(type, serializer, id);
             }
             if (r.getId() != id) {
-                log.warn("{}: {} already registed as {}. Skipping {}.",
+                log.warn("{}: {} already registered as {}. Skipping {}.",
                         friendlyName(), r.getType(), r.getId(), id);
             }
             log.trace("{} registered as {}", r.getType(), r.getId());
