diff --git a/Network/HTTP/Conduit/ConnInfo.hs b/Network/HTTP/Conduit/ConnInfo.hs
--- a/Network/HTTP/Conduit/ConnInfo.hs
+++ b/Network/HTTP/Conduit/ConnInfo.hs
@@ -149,11 +149,13 @@
             bye istate `E.finally` hClose h
         }
   where
-    recvD istate = do
+    recvD istate = E.handle onEOF $ do
         x <- recvData istate
         if S.null x
             then recvD istate
             else return x
+    onEOF Error_EOF = return S.empty
+    onEOF e = throwIO e
 
 getSocket :: Maybe NS.HostAddress -> String -> Int -> Maybe SocksConf -> IO NS.Socket
 getSocket _ host' port' (Just socksConf) = do
diff --git a/http-conduit.cabal b/http-conduit.cabal
--- a/http-conduit.cabal
+++ b/http-conduit.cabal
@@ -1,5 +1,5 @@
 name:            http-conduit
-version:         1.9.5.1
+version:         1.9.5.2
 license:         BSD3
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
