diff --git a/Network/Wai/Handler/Warp/FdCache.hs b/Network/Wai/Handler/Warp/FdCache.hs
--- a/Network/Wai/Handler/Warp/FdCache.hs
+++ b/Network/Wai/Handler/Warp/FdCache.hs
@@ -13,7 +13,6 @@
 import Data.Hashable
 import Data.IORef
 import Network.Wai.Handler.Warp.MultiMap
-import System.Mem.Weak (addFinalizer)
 import System.Posix.IO
 import System.Posix.Types
 
@@ -50,7 +49,7 @@
 
 type Hash = Int
 type FdCache = MMap Hash FdEntry
-newtype MutableFdCache = MutableFdCache (IORef FdCache)
+newtype MutableFdCache = MutableFdCache { unMutableFdCache :: IORef FdCache }
 
 newMutableFdCache :: IO MutableFdCache
 newMutableFdCache = MutableFdCache <$> newIORef empty
@@ -82,7 +81,7 @@
 initialize duration = do
     mfc <- newMutableFdCache
     tid <- forkIO $ loop mfc
-    addFinalizer mfc $ terminate mfc tid
+    _ <- mkWeakIORef (unMutableFdCache mfc) $ terminate mfc tid
     return mfc
   where
     loop mfc = do
diff --git a/warp.cabal b/warp.cabal
--- a/warp.cabal
+++ b/warp.cabal
@@ -1,5 +1,5 @@
 Name:                warp
-Version:             1.3.9.1
+Version:             1.3.9.2
 Synopsis:            A fast, light-weight web server for WAI applications.
 License:             MIT
 License-file:        LICENSE
