diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,8 +1,14 @@
+## 3.2.21
+
+* Fixing HTTP/2's timeout handler.
+
 ## 3.2.20
+
 * Fixing "Thread killed by timeout reaper when sending large HTTP/2 response"
   [#593](https://github.com/yesodweb/wai/issues/593)
 
 ## 3.2.19
+
 * Fixing 0-length body in HTTP/2
   [#597](https://github.com/yesodweb/wai/issues/597)
   [#679](https://github.com/yesodweb/wai/issues/679)
diff --git a/Network/Wai/Handler/Warp/HTTP2/Request.hs b/Network/Wai/Handler/Warp/HTTP2/Request.hs
--- a/Network/Wai/Handler/Warp/HTTP2/Request.hs
+++ b/Network/Wai/Handler/Warp/HTTP2/Request.hs
@@ -24,9 +24,8 @@
 import Network.Wai.Handler.Warp.HTTP2.Types
 import Network.Wai.Handler.Warp.HashMap (hashByteString)
 import Network.Wai.Handler.Warp.Imports
-import Network.Wai.Handler.Warp.Request (pauseTimeoutKey, getFileInfoKey)
+import Network.Wai.Handler.Warp.Request (getFileInfoKey)
 import qualified Network.Wai.Handler.Warp.Settings as S (Settings, settingsNoParsePath)
-import qualified Network.Wai.Handler.Warp.Timeout as Timeout
 import Network.Wai.Handler.Warp.Types
 
 type MkReq = (TokenHeaderList,ValueTable) -> (Maybe Int,IO ByteString) -> IO (Request,InternalInfo)
@@ -79,10 +78,9 @@
     !path = H.extractPath unparsedPath
     !rawPath = if S.settingsNoParsePath settings then unparsedPath else path
     !h = hashByteString rawPath
+    -- timeout handler must be overwritten with worker's one.
     !ii = toInternalInfo ii1 h
-    !th = threadHandle ii -- th must be overwritten with worker's one.
-    !vaultValue = Vault.insert pauseTimeoutKey (Timeout.pause th)
-                $ Vault.insert getFileInfoKey (getFileInfo ii)
+    !vaultValue = Vault.insert getFileInfoKey (getFileInfo ii)
                 $ Vault.insert getHTTP2DataKey (readIORef ref)
                 $ Vault.insert setHTTP2DataKey (writeIORef ref)
                 $ Vault.insert modifyHTTP2DataKey (modifyIORef' ref)
diff --git a/Network/Wai/Handler/Warp/HTTP2/Worker.hs b/Network/Wai/Handler/Warp/HTTP2/Worker.hs
--- a/Network/Wai/Handler/Warp/HTTP2/Worker.hs
+++ b/Network/Wai/Handler/Warp/HTTP2/Worker.hs
@@ -16,12 +16,14 @@
 import qualified Control.Exception as E
 import Data.ByteString.Builder (byteString)
 import Data.IORef
+import qualified Data.Vault.Lazy as Vault
 import Network.HPACK
 import Network.HPACK.Token
 import qualified Network.HTTP.Types as H
 import Network.HTTP2
 import Network.HTTP2.Priority
 import Network.Wai
+import qualified Network.Wai.Handler.Warp.Timeout as Timeout
 import Network.Wai.Internal (Response(..), ResponseReceived(..), ResponseReceived(..))
 
 import Network.Wai.Handler.Warp.FileInfoCache
@@ -31,6 +33,7 @@
 import Network.Wai.Handler.Warp.HTTP2.Request
 import Network.Wai.Handler.Warp.HTTP2.Types
 import Network.Wai.Handler.Warp.Imports hiding (insert)
+import Network.Wai.Handler.Warp.Request (pauseTimeoutKey)
 import qualified Network.Wai.Handler.Warp.Response as R
 import qualified Network.Wai.Handler.Warp.Settings as S
 import qualified Network.Wai.Handler.Warp.Timeout as T
@@ -244,7 +247,9 @@
             T.resume th
             T.tickle th
             let ii' = ii { threadHandle = th }
-            app req $ responder ii' reqvt tcont strm req
+                vaultValue = Vault.insert pauseTimeoutKey (Timeout.pause th) $ vault req
+                req' = req { vault = vaultValue }
+            app req' $ responder ii' reqvt tcont strm req'
         cont1 <- case ex of
             Right ResponseReceived -> return True
             Left  e@(SomeException _)
diff --git a/test/WithApplicationSpec.hs b/test/WithApplicationSpec.hs
--- a/test/WithApplicationSpec.hs
+++ b/test/WithApplicationSpec.hs
@@ -2,10 +2,8 @@
 
 module WithApplicationSpec where
 
-import           Control.Concurrent
 import           Control.Exception
 import           Network.HTTP.Types
-import           Network.Socket
 import           Network.Wai
 import           System.Environment
 import           System.IO
diff --git a/warp.cabal b/warp.cabal
--- a/warp.cabal
+++ b/warp.cabal
@@ -1,5 +1,5 @@
 Name:                warp
-Version:             3.2.20
+Version:             3.2.21
 Synopsis:            A fast, light-weight web server for WAI applications.
 License:             MIT
 License-file:        LICENSE
