diff --git a/Network/HTTP/Enumerator.hs b/Network/HTTP/Enumerator.hs
--- a/Network/HTTP/Enumerator.hs
+++ b/Network/HTTP/Enumerator.hs
@@ -331,7 +331,17 @@
                     else returnI x
         if method == "HEAD"
             then bodyStep s hs'
-            else body' $ decompress $$ bodyStep s hs'
+            else body' $ decompress $$ do
+                    x <- bodyStep s hs'
+                    flushStream
+                    return x
+
+flushStream :: Monad m => Iteratee a m ()
+flushStream = do
+    x <- EL.head
+    case x of
+        Nothing -> return ()
+        Just _ -> flushStream
 
 chunkedEnumeratee :: MonadIO m => Enumeratee S.ByteString S.ByteString m a
 chunkedEnumeratee k@(Continue _) = do
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.6.5.2
+version:         0.6.5.3
 license:         BSD3
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
