diff --git a/server/grpc/codec.go b/server/grpc/codec.go
index 356f8e81..a1d4a659 100644
--- a/server/grpc/codec.go
+++ b/server/grpc/codec.go
@@ -64,6 +64,9 @@ func (w wrapCodec) Unmarshal(data []byte, v interface{}) error {
 		b.Data = data
 		return nil
 	}
+	if v == nil {
+		return nil
+	}
 	return w.Codec.Unmarshal(data, v)
 }