diff --git a/Network/HTTP/Enumerator.hs b/Network/HTTP/Enumerator.hs
--- a/Network/HTTP/Enumerator.hs
+++ b/Network/HTTP/Enumerator.hs
@@ -134,11 +134,14 @@
         liftIO $ mapM_ write bss
         continue go
 
-readToEnum :: MonadIO m => IO a -> Enumerator a m b
+readToEnum :: MonadIO m => IO S.ByteString -> Enumerator S.ByteString m b
 readToEnum read' (Continue k) = do
     bs <- liftIO read'
-    step <- lift $ runIteratee $ k $ Chunks [bs]
-    readToEnum read' step
+    if S.null bs
+        then continue k
+        else do
+            step <- lift $ runIteratee $ k $ Chunks [bs]
+            readToEnum read' step
 readToEnum _ step = returnI step
 
 type WithConn m a b = Iteratee S.ByteString m ()
diff --git a/http-enumerator.cabal b/http-enumerator.cabal
--- a/http-enumerator.cabal
+++ b/http-enumerator.cabal
@@ -1,5 +1,5 @@
 name:            http-enumerator
-version:         0.2.0
+version:         0.2.0.1
 license:         BSD3
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
diff --git a/test.hs b/test.hs
--- a/test.hs
+++ b/test.hs
@@ -4,8 +4,6 @@
 import Network
 import qualified Data.ByteString as S
 import qualified Data.ByteString.Lazy as L
-import qualified Data.ByteString.Lazy.Char8 as L8
-import Data.Enumerator (consume, Iteratee)
 import System.Environment.UTF8 (getArgs)
 
 main :: IO ()
