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 e87c6bf..2aca86d 100644
--- a/utils/misc/src/main/java/org/onlab/util/KryoNamespace.java
+++ b/utils/misc/src/main/java/org/onlab/util/KryoNamespace.java
@@ -33,6 +33,8 @@
 import org.objenesis.strategy.StdInstantiatorStrategy;
 import org.slf4j.Logger;
 
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.nio.ByteBuffer;
@@ -303,11 +305,12 @@
      * @return serialized bytes
      */
     public byte[] serialize(final Object obj, final int bufferSize) {
-        Output out = new Output(bufferSize, MAX_BUFFER_SIZE);
+        ByteArrayOutputStream outputStream = new ByteArrayOutputStream(bufferSize);
+        Output out = new Output(outputStream);
         return pool.run(kryo -> {
             kryo.writeClassAndObject(out, obj);
             out.flush();
-            return out.toBytes();
+            return outputStream.toByteArray();
         });
     }
 
@@ -364,7 +367,7 @@
      * @return deserialized Object
      */
     public <T> T deserialize(final byte[] bytes) {
-        Input in = new Input(bytes);
+        Input in = new Input(new ByteArrayInputStream(bytes));
         Kryo kryo = borrow();
         try {
             @SuppressWarnings("unchecked")
