diff --git a/HTTP.cabal b/HTTP.cabal
--- a/HTTP.cabal
+++ b/HTTP.cabal
@@ -1,5 +1,5 @@
 Name: HTTP
-Version: 4000.2.9
+Version: 4000.2.10
 Cabal-Version: >= 1.8
 Build-type: Simple
 License: BSD3
diff --git a/Network/HTTP/Base.hs b/Network/HTTP/Base.hs
--- a/Network/HTTP/Base.hs
+++ b/Network/HTTP/Base.hs
@@ -868,7 +868,7 @@
     = readL >>= 
       either (\v -> return $ Left v)
              (\more -> if (buf_isEmpty bufOps more)
-                         then return (Right ([],foldr (flip (buf_append bufOps)) (buf_empty bufOps) strs))
+                         then return (Right ([], buf_concat bufOps $ reverse strs))
                          else hopefulTransfer bufOps readL (more:strs))
 
 -- | A necessary feature of HTTP\/1.1
