diff --git a/Program/Mighty/Route.hs b/Program/Mighty/Route.hs
--- a/Program/Mighty/Route.hs
+++ b/Program/Mighty/Route.hs
@@ -101,10 +101,10 @@
 path :: Parser Path
 path = do
     c <- char '/'
-    fromByteString . BS.pack . (c:) <$> many (noneOf "[], \t\n") <* spcs
+    BS.pack . (c:) <$> many (noneOf "[], \t\n") <* spcs
 
 path' :: Parser Path
-path' = fromByteString . BS.pack <$> many (noneOf "[], \t\n") <* spcs
+path' = BS.pack <$> many (noneOf "[], \t\n") <* spcs
 
 -- [host1][:port2]/path2
 
diff --git a/mighttpd2.cabal b/mighttpd2.cabal
--- a/mighttpd2.cabal
+++ b/mighttpd2.cabal
@@ -1,5 +1,5 @@
 Name:                   mighttpd2
-Version:                3.3.0
+Version:                3.3.1
 Author:                 Kazu Yamamoto <kazu@iij.ad.jp>
 Maintainer:             Kazu Yamamoto <kazu@iij.ad.jp>
 License:                BSD3
@@ -56,8 +56,8 @@
                       , unix-time
                       , unordered-containers
                       , wai >= 3.2 && < 3.3
-                      , wai-app-file-cgi >= 3.1 && < 3.2
-                      , warp >= 3.2 && < 3.3
+                      , wai-app-file-cgi >= 3.1.1 && < 3.2
+                      , warp >= 3.2.6 && < 3.3
 
 Executable mighty
   Default-Language:     Haskell2010
@@ -81,9 +81,9 @@
                       , unix
                       , streaming-commons
                       , wai >= 3.2 && < 3.3
-                      , wai-app-file-cgi >= 3.1 && < 3.2
+                      , wai-app-file-cgi >= 3.1.1 && < 3.2
                       , wai-logger >= 2.2.2
-                      , warp >= 3.2 && < 3.3
+                      , warp >= 3.2.6 && < 3.3
   if flag(tls)
     Build-Depends:      tls
                       , warp-tls >= 3.2 && < 3.3
diff --git a/src/Mighty.hs b/src/Mighty.hs
--- a/src/Mighty.hs
+++ b/src/Mighty.hs
@@ -6,7 +6,7 @@
 import Control.Monad (when)
 #endif
 import Data.Version (showVersion)
-import Network.Wai.Application.Classic hiding ((</>), (+++))
+import Network.Wai.Application.Classic hiding ((</>))
 import System.Directory (getCurrentDirectory)
 import System.Environment (getArgs)
 import System.Exit (exitFailure)
diff --git a/src/Server.hs b/src/Server.hs
--- a/src/Server.hs
+++ b/src/Server.hs
@@ -9,7 +9,7 @@
 import Data.Streaming.Network (bindPortTCP)
 import Network (Socket, sClose)
 import qualified Network.HTTP.Client as H
-import Network.Wai.Application.Classic hiding ((</>), (+++))
+import Network.Wai.Application.Classic hiding ((</>))
 import Network.Wai.Handler.Warp
 import Network.Wai.Logger
 import System.Exit (ExitCode(..), exitSuccess)
diff --git a/src/WaiApp.hs b/src/WaiApp.hs
--- a/src/WaiApp.hs
+++ b/src/WaiApp.hs
@@ -66,13 +66,9 @@
 routeSource (RouteRevProxy src _ _ _) = src
 
 isPrefixOf :: Path -> ByteString -> Bool
-isPrefixOf src key = src' `BS.isPrefixOf` key
-  where
-    src' = pathByteString src
+isPrefixOf src key = src `BS.isPrefixOf` key
 
 isMountPointOf :: Path -> ByteString -> Bool
 isMountPointOf src key = hasTrailingPathSeparator src
-                      && BS.length src' - BS.length key == 1
-                      && key `BS.isPrefixOf` src'
-  where
-    src' = pathByteString src
+                      && BS.length src - BS.length key == 1
+                      && key `BS.isPrefixOf` src
