diff --git a/Network/Wai/Handler/WarpTLS.hs b/Network/Wai/Handler/WarpTLS.hs
--- a/Network/Wai/Handler/WarpTLS.hs
+++ b/Network/Wai/Handler/WarpTLS.hs
@@ -31,7 +31,7 @@
 import Data.Conduit.Binary (sourceFileRange)
 import qualified Data.Conduit as C
 import qualified Data.Conduit.List as CL
-import Control.Exception (bracket, finally)
+import Control.Exception (bracket, finally, handle)
 import qualified Network.TLS.Extra as TLSExtra
 import qualified Data.Certificate.X509 as X509
 import qualified Data.ByteString as B
@@ -151,7 +151,6 @@
                         gen
                     TLS.handshake ctx
                     buf <- allocateBuffer bufferSize
-                    blazeBuf <- toBlazeBuffer buf bufferSize
                     let conn = Connection
                             { connSendMany = TLS.sendData ctx . L.fromChunks
                             , connSendAll = TLS.sendData ctx . L.fromChunks . return
@@ -161,9 +160,18 @@
                             , connClose =
                                 TLS.bye ctx `finally`
                                 TLS.contextClose ctx
-                            , connRecv = TLS.recvData ctx
+                            , connRecv =
+                                let onEOF TLS.Error_EOF = return B.empty
+                                    onEOF e = throwIO e
+                                    go = handle onEOF $ do
+                                        x <- TLS.recvData ctx
+                                        if B.null x
+                                            then go
+                                            else return x
+                                 in go
                             , connSendFileOverride = NotOverride
-                            , connBuffer = blazeBuf
+                            , connBuffer = buf
+                            , connBufferSize = bufferSize
                             }
                     return conn
                 else
diff --git a/warp-tls.cabal b/warp-tls.cabal
--- a/warp-tls.cabal
+++ b/warp-tls.cabal
@@ -1,5 +1,5 @@
 Name:                warp-tls
-Version:             2.0.0.1
+Version:             2.0.1
 Synopsis:            HTTP over SSL/TLS support for Warp via the TLS package
 License:             MIT
 License-file:        LICENSE
@@ -19,7 +19,7 @@
   Build-Depends:     base                          >= 4        && < 5
                    , bytestring                    >= 0.9
                    , wai                           >= 2.0      && < 2.1
-                   , warp                          >= 2.0      && < 2.1
+                   , warp                          >= 2.0.2    && < 2.1
                    , transformers                  >= 0.2
                    , conduit                       >= 0.5      && < 1.1
                    , network-conduit               >= 0.6      && < 1.1
