diff --git a/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/ImmutableSetSerializer.java b/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/ImmutableSetSerializer.java
index f63d17d..bcba7df 100644
--- a/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/ImmutableSetSerializer.java
+++ b/core/store/serializers/src/main/java/org/onlab/onos/store/serializers/ImmutableSetSerializer.java
@@ -18,9 +18,8 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import org.onlab.util.KryoNamespace.FamilySerializer;
-
 import com.esotericsoftware.kryo.Kryo;
+import com.esotericsoftware.kryo.Serializer;
 import com.esotericsoftware.kryo.io.Input;
 import com.esotericsoftware.kryo.io.Output;
 import com.esotericsoftware.kryo.serializers.CollectionSerializer;
@@ -29,7 +28,7 @@
 /**
 * Kryo Serializer for {@link ImmutableSet}.
 */
-public class ImmutableSetSerializer extends FamilySerializer<ImmutableSet<?>> {
+public class ImmutableSetSerializer extends Serializer<ImmutableSet<?>> {
 
     private final CollectionSerializer serializer = new CollectionSerializer();
 
@@ -39,6 +38,7 @@
     public ImmutableSetSerializer() {
         // non-null, immutable
         super(false, true);
+        serializer.setElementsCanBeNull(false);
     }
 
     @Override
@@ -52,12 +52,4 @@
         List<?> elms = kryo.readObject(input, ArrayList.class, serializer);
         return ImmutableSet.copyOf(elms);
     }
-
-    @Override
-    public void registerFamilies(Kryo kryo) {
-        kryo.register(ImmutableSet.of().getClass(), this);
-        kryo.register(ImmutableSet.of(1).getClass(), this);
-        kryo.register(ImmutableSet.of(1, 2).getClass(), this);
-        // TODO register required ImmutableSet variants
-    }
 }
