diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
+## 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 fixing 0-length body in HTTP/2
+* 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
@@ -80,7 +80,7 @@
     !rawPath = if S.settingsNoParsePath settings then unparsedPath else path
     !h = hashByteString rawPath
     !ii = toInternalInfo ii1 h
-    !th = threadHandle ii
+    !th = threadHandle ii -- th must be overwritten with worker's one.
     !vaultValue = Vault.insert pauseTimeoutKey (Timeout.pause th)
                 $ Vault.insert getFileInfoKey (getFileInfo ii)
                 $ Vault.insert getHTTP2DataKey (readIORef 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
@@ -219,8 +219,9 @@
             !out = Output strm rspn ii tell h2data rspnOrWait
         enqueueOutput outputQ out
         let push b = do
+              T.pause th
               atomically $ writeTBQueue tbq (SBuilder b)
-              T.tickle th
+              T.resume th
             flush  = atomically $ writeTBQueue tbq SFlush
         _ <- strmbdy push flush
         atomically $ writeTBQueue tbq SFinish
@@ -242,7 +243,8 @@
             setStreamInfo sinfo inp
             T.resume th
             T.tickle th
-            app req $ responder ii reqvt tcont strm req
+            let ii' = ii { threadHandle = th }
+            app req $ responder ii' reqvt tcont strm req
         cont1 <- case ex of
             Right ResponseReceived -> return True
             Left  e@(SomeException _)
diff --git a/warp.cabal b/warp.cabal
--- a/warp.cabal
+++ b/warp.cabal
@@ -1,5 +1,5 @@
 Name:                warp
-Version:             3.2.19
+Version:             3.2.20
 Synopsis:            A fast, light-weight web server for WAI applications.
 License:             MIT
 License-file:        LICENSE
