diff --git a/lib/Rackem/Server.php b/lib/Rackem/Server.php
index <HASH>..<HASH> 100644
--- a/lib/Rackem/Server.php
+++ b/lib/Rackem/Server.php
@@ -64,7 +64,7 @@ class Server
 					if($offset === false) $offset = strpos($buffer, "\n\n");
 					if($offset === false) $offset = strpos($buffer, "\r\r");
 					if($offset === false) $offset = strpos($buffer, "\r\n");
-					$length = $m[1] - $offset + 2;
+					$length = $m[1] - (strlen($buffer) - $offset);
 					$body = '';
 					while(strlen($body) < $length) $body .= socket_read($client, 1024);
 					$buffer = $buffer . $body;
Ensure Server reads full Content-Length of body into the buffer