diff --git a/Network/Wai/Middleware/Gzip.hs b/Network/Wai/Middleware/Gzip.hs
--- a/Network/Wai/Middleware/Gzip.hs
+++ b/Network/Wai/Middleware/Gzip.hs
@@ -79,6 +79,7 @@
 gzip :: GzipSettings -> Middleware
 gzip set app env sendResponse = app env $ \res ->
     case res of
+        ResponseRaw{} -> sendResponse res
         ResponseFile{} | gzipFiles set == GzipIgnore -> sendResponse res
         _ -> if "gzip" `elem` enc && not isMSIE6 && not (isEncoded res)
                 then
diff --git a/Network/Wai/Middleware/RequestLogger.hs b/Network/Wai/Middleware/RequestLogger.hs
--- a/Network/Wai/Middleware/RequestLogger.hs
+++ b/Network/Wai/Middleware/RequestLogger.hs
@@ -37,6 +37,8 @@
 import System.Console.ANSI
 import Data.IORef.Lifted
 import System.IO.Unsafe
+import Control.Monad (unless)
+import Network.Wai.Internal (Response (ResponseRaw))
 
 import Data.Default.Class (Default (def))
 import Network.Wai.Logger
@@ -234,11 +236,15 @@
         ]
 
     app req' $ \rsp -> do
+        let isRaw =
+                case rsp of
+                    ResponseRaw{} -> True
+                    _ -> False
 
         -- log the status of the response
         -- this is color coordinated with the request logging
         -- also includes the request path to connect it to the request
-        liftIO $ cb $ mconcat $ map toLogStr $
+        unless isRaw $ cb $ mconcat $ map toLogStr $
             addColor "Status: " ++ statusBS rsp ++
             [ " "
             , msgBS rsp
diff --git a/wai-extra.cabal b/wai-extra.cabal
--- a/wai-extra.cabal
+++ b/wai-extra.cabal
@@ -1,5 +1,5 @@
 Name:                wai-extra
-Version:             3.0.0
+Version:             3.0.0.1
 Synopsis:            Provides some basic WAI handlers and middleware.
 Description:         The goal here is to provide common features without many dependencies.
 License:             MIT
