diff --git a/src/module.c b/src/module.c
index 18549c1b..2dde3adc 100644
--- a/src/module.c
+++ b/src/module.c
@@ -855,7 +855,7 @@ void moduleParseCallReply_BulkString(RedisModuleCallReply *reply) {
 
     string2ll(proto+1,p-proto-1,&bulklen);
     if (bulklen == -1) {
-        reply->protolen = proto-p+2;
+        reply->protolen = p-proto+2;
         reply->type = REDISMODULE_REPLY_NULL;
     } else {
         reply->val.str = p+2;
@@ -871,7 +871,7 @@ void moduleParseCallReply_SimpleString(RedisModuleCallReply *reply) {
 
     reply->val.str = proto+1;
     reply->len = p-proto-1;
-    reply->protolen = proto-p+2;
+    reply->protolen = p-proto+2;
     reply->type = proto[0] == '+' ? REDISMODULE_REPLY_STRING :
                                     REDISMODULE_REPLY_ERROR;
 }
@@ -885,7 +885,7 @@ void moduleParseCallReply_Array(RedisModuleCallReply *reply) {
     p += 2;
 
     if (arraylen == -1) {
-        reply->protolen = proto-p;
+        reply->protolen = p-proto;
         reply->type = REDISMODULE_REPLY_NULL;
         return;
     }
@@ -900,7 +900,7 @@ void moduleParseCallReply_Array(RedisModuleCallReply *reply) {
         moduleParseCallReply(ele);
         p += ele->protolen;
     }
-    reply->protolen = proto-p;
+    reply->protolen = p-proto;
     reply->type = REDISMODULE_REPLY_ARRAY;
 }