diff --git a/src/networking.c b/src/networking.c
index 1dab89275..26ee46f63 100644
--- a/src/networking.c
+++ b/src/networking.c
@@ -804,7 +804,7 @@ int processMultibulkBuffer(redisClient *c) {
                 bulklen = strtol(c->querybuf+pos+1,&eptr,10);
                 tolerr = (eptr[0] != '\r');
                 if (tolerr || bulklen == LONG_MIN || bulklen == LONG_MAX ||
-                    bulklen < 0 || bulklen > 1024*1024*1024)
+                    bulklen < 0 || bulklen > 512*1024*1024)
                 {
                     addReplyError(c,"Protocol error: invalid bulk length");
                     setProtocolError(c,pos);