diff --git a/Program/Mighty/Report.hs b/Program/Mighty/Report.hs
--- a/Program/Mighty/Report.hs
+++ b/Program/Mighty/Report.hs
@@ -22,7 +22,8 @@
 import Data.UnixTime
 import GHC.IO.Exception (IOErrorType(..))
 import Network.Wai
-import Network.Wai.Handler.Warp (InvalidRequest, TimeoutThread(..))
+import Network.Wai.Handler.Warp (InvalidRequest)
+import Network.Wai.Handler.Warp.Internal (TimeoutThread(..))
 import System.IO
 import System.IO.Error (ioeGetErrorType)
 import System.Posix (getProcessID)
diff --git a/mighttpd2.cabal b/mighttpd2.cabal
--- a/mighttpd2.cabal
+++ b/mighttpd2.cabal
@@ -1,5 +1,5 @@
 Name:                   mighttpd2
-Version:                3.2.10
+Version:                3.3.0
 Author:                 Kazu Yamamoto <kazu@iij.ad.jp>
 Maintainer:             Kazu Yamamoto <kazu@iij.ad.jp>
 License:                BSD3
@@ -55,9 +55,9 @@
                       , unix
                       , unix-time
                       , unordered-containers
-                      , wai >= 3.0 && < 3.1
-                      , wai-app-file-cgi >= 3.0.9
-                      , warp >= 3.1.12 && < 3.2
+                      , wai >= 3.2 && < 3.3
+                      , wai-app-file-cgi >= 3.1 && < 3.2
+                      , warp >= 3.2 && < 3.3
 
 Executable mighty
   Default-Language:     Haskell2010
@@ -80,14 +80,13 @@
                       , transformers
                       , unix
                       , streaming-commons
-                      , wai >= 3.0 && < 3.1
-                      , wai-app-file-cgi >= 3.0.9
+                      , wai >= 3.2 && < 3.3
+                      , wai-app-file-cgi >= 3.1 && < 3.2
                       , wai-logger >= 2.2.2
-                      , warp >= 3.1.12 && < 3.2
-
+                      , warp >= 3.2 && < 3.3
   if flag(tls)
     Build-Depends:      tls
-                      , warp-tls >= 3.1.5 && < 3.2
+                      , warp-tls >= 3.2 && < 3.3
   Other-Modules:        Mighty
                         Server
                         WaiApp
@@ -126,7 +125,7 @@
                       , http-client
   if flag(tls)
     Build-Depends:      tls
-                      , warp-tls >= 3.1.5 && < 3.2
+                      , warp-tls >= 3.2 && < 3.3
 
 Source-Repository head
   Type:                 git
diff --git a/src/Server.hs b/src/Server.hs
--- a/src/Server.hs
+++ b/src/Server.hs
@@ -167,11 +167,11 @@
             $ setFdCacheDuration (opt_fd_cache_duration opt)
             $ setFileInfoCacheDuration 10
             $ setServerName      serverName
+            $ setLogger          lgr
             defaultSettings
     serverName = BS.pack $ opt_server_name opt
     cspec = ClassicAppSpec {
         softwareName = serverName
-      , logger = lgr
       , statusFileDir = fromString $ opt_status_file_dir opt
       }
     filespec = FileAppSpec {
diff --git a/src/WaiApp.hs b/src/WaiApp.hs
--- a/src/WaiApp.hs
+++ b/src/WaiApp.hs
@@ -2,7 +2,6 @@
 
 module WaiApp (fileCgiApp) where
 
-import Control.Monad.IO.Class (liftIO)
 import Data.ByteString (ByteString)
 import qualified Data.ByteString.Char8 as BS (isPrefixOf, length)
 import Network.HTTP.Types (preconditionFailed412, movedPermanently301, urlDecode)
@@ -21,12 +20,10 @@
     case mmp um of
         Fail -> do
             let st = preconditionFailed412
-            liftIO $ logger cspec req' st Nothing
             fastResponse respond st defaultHeader "Precondition Failed\r\n"
         Redirect -> do
             let st = movedPermanently301
                 hdr = defaultHeader ++ redirectHeader req'
-            liftIO $ logger cspec req st Nothing
             fastResponse respond st hdr "Moved Permanently\r\n"
         Found (RouteFile  src dst) ->
             fileApp cspec filespec (FileRoute src dst) req' respond
