diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,9 @@
+## 4.1.2
+
+* Removing the race of frameSender and frameReceiver in the server side.
+  This fixes the loss of RST_Stream and TLS bad MAC error.
+  [#67][https://github.com/kazu-yamamoto/http2/pull/67]
+
 ## 4.1.1
 
 * Fixing memory-blow-up due to no flow control.
diff --git a/Network/HTTP2/Arch/Receiver.hs b/Network/HTTP2/Arch/Receiver.hs
--- a/Network/HTTP2/Arch/Receiver.hs
+++ b/Network/HTTP2/Arch/Receiver.hs
@@ -76,7 +76,7 @@
       | Just e@(StreamErrorIsSent err sid) <- E.fromException se = do
           let frame = resetFrame err sid
           enqueueControl controlQ $ CFrames Nothing [frame]
-          let frame' = goawayFrame sid err "treat a stream error as a connection error"
+          let frame' = goawayFrame sid err "closing a connection after sending a stream error"
           enqueueControl controlQ $ CFrames Nothing [frame']
           enqueueControl controlQ $ CFinish e
       | Just e@(StreamErrorIsReceived err sid) <- E.fromException se = do
diff --git a/Network/HTTP2/Server/Run.hs b/Network/HTTP2/Server/Run.hs
--- a/Network/HTTP2/Server/Run.hs
+++ b/Network/HTTP2/Server/Run.hs
@@ -3,7 +3,7 @@
 
 module Network.HTTP2.Server.Run where
 
-import UnliftIO.Async (race_)
+import UnliftIO.Async (concurrently_)
 import qualified UnliftIO.Exception as E
 
 import Imports
@@ -33,7 +33,7 @@
         replicateM_ 3 $ spawnAction mgr
         let runReceiver = frameReceiver ctx conf
             runSender   = frameSender   ctx conf mgr
-        race_ runReceiver runSender `E.finally` stop mgr
+        concurrently_ runReceiver runSender `E.finally` stop mgr
   where
     checkPreface = do
         preface <- confReadN connectionPrefaceLength
diff --git a/http2.cabal b/http2.cabal
--- a/http2.cabal
+++ b/http2.cabal
@@ -1,6 +1,6 @@
 cabal-version:      >=1.10
 name:               http2
-version:            4.1.1
+version:            4.1.2
 license:            BSD3
 license-file:       LICENSE
 maintainer:         Kazu Yamamoto <kazu@iij.ad.jp>
