diff --git a/src/cpp/proto/proto_utils.cc b/src/cpp/proto/proto_utils.cc
index b8de2ea173525288bf472e002056b2651bbf5a37..c16d06fa370d16442b124e2e0a5aa3f407232fdf 100644
--- a/src/cpp/proto/proto_utils.cc
+++ b/src/cpp/proto/proto_utils.cc
@@ -159,6 +159,7 @@ bool SerializeProto(const grpc::protobuf::Message& msg, grpc_byte_buffer** bp) {
 }
 
 bool DeserializeProto(grpc_byte_buffer* buffer, grpc::protobuf::Message* msg) {
+  if (!buffer) return false;
   GrpcBufferReader reader(buffer);
   return msg->ParseFromZeroCopyStream(&reader);
 }