diff --git a/Network/HTTP/Conduit/Response.hs b/Network/HTTP/Conduit/Response.hs
--- a/Network/HTTP/Conduit/Response.hs
+++ b/Network/HTTP/Conduit/Response.hs
@@ -67,9 +67,9 @@
     ((_, sc, sm), hs) <- bsrc C.$$ sinkHeaders
     let s = W.Status sc sm
     let hs' = map (first CI.mk) hs
-    let mcl = lookup "content-length" hs'
+    let mcl = lookup "content-length" hs' >>= readDec . S8.unpack
     -- RFC 2616 section 4.4_1 defines responses that must not include a body
-    res <- if hasNoBody method sc
+    res <- if hasNoBody method sc || mcl == Just 0
         then do
             bsrcNull <- C.bufferSource $ CL.sourceList []
             bodyStep s hs' bsrcNull
@@ -78,7 +78,7 @@
                 if ("transfer-encoding", "chunked") `elem` hs'
                     then C.bufferSource $ bsrc C.$= chunkedConduit rawBody
                     else
-                        case mcl >>= readDec . S8.unpack of
+                        case mcl of
                             Just len -> C.bufferSource $ bsrc C.$= CB.isolate len
                             Nothing  -> return bsrc
             bsrc'' <-
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.0.0
+version:         1.0.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
@@ -7,24 +7,25 @@
 import System.Environment.UTF8 (getArgs)
 import Data.CaseInsensitive (original)
 import Data.Conduit
+import Control.Monad.IO.Class
 
 main :: IO ()
 main = withSocketsDo $ do
     [url] <- getArgs
     _req2 <- parseUrl url
-    {-
-    let req = urlEncodedBody
+    let req = {-urlEncodedBody
                 [ ("foo", "bar")
                 , ("baz%%38**.8fn", "bin")
-                ] _req2
-    -}
+                ]-} _req2
+                    { method = "OPTIONS"
+                    }
     runResourceT $ do
         man <- newManager
-        Response sc hs b <- httpLbsRedirect _req2 man
+        Response sc hs b <- httpLbsRedirect req man
 #if DEBUG
         return ()
 #else
-        liftBase $ do
+        liftIO $ do
             print sc
             mapM_ (\(x, y) -> do
                 S.putStr $ original x
