diff --git a/src/Network/Wai/Middleware/ContentType/Types.hs b/src/Network/Wai/Middleware/ContentType/Types.hs
--- a/src/Network/Wai/Middleware/ContentType/Types.hs
+++ b/src/Network/Wai/Middleware/ContentType/Types.hs
@@ -1,5 +1,6 @@
 {-# LANGUAGE
-    TypeFamilies
+    Rank2Types
+  , TypeFamilies
   , DeriveFunctor
   , DeriveGeneric
   , FlexibleContexts
@@ -52,6 +53,7 @@
 import           Data.Url (MonadUrl)
 import           Data.Hashable (Hashable)
 import qualified Data.ByteString        as BS
+import           Data.Functor.Compose (Compose)
 import           Control.Monad (MonadPlus)
 import           Control.Applicative (Alternative)
 import           Control.Monad.Fix (MonadFix)
@@ -62,6 +64,7 @@
 import           Control.Monad.Cont (MonadCont)
 import           Control.Monad.Except (MonadError)
 import           Control.Monad.Trans.Control (MonadTransControl (..), MonadBaseControl (..), ComposeSt, defaultRestoreM, defaultLiftBaseWith)
+import qualified Control.Monad.Trans.Control.Aligned as Aligned
 import           Control.Monad.Trans.Resource (MonadResource)
 import           Control.Monad.State (StateT (..), MonadState, get, put, execStateT, modify')
 import           Control.Monad.Writer (MonadWriter)
@@ -176,6 +179,24 @@
 
 getLogger :: Monad m => FileExtListenerT m (Status -> Maybe Integer -> IO ())
 getLogger = FileExtListenerT (ReaderT pure)
+
+instance Aligned.MonadTransControl FileExtListenerT ((,) FileExtMap) where
+  liftWith client = FileExtListenerT $ ReaderT $ \env -> StateT $ \s ->
+    let run :: forall m a. Monad m => FileExtListenerT m a -> m (FileExtMap, a)
+        run (FileExtListenerT (ReaderT f)) =
+          let (StateT g) = f env
+          in  do (x, s') <- g s
+                 pure (s', x)
+    in  do x <- client run
+           pure (x, s)
+  restoreT mx = FileExtListenerT $ ReaderT $ \_ -> StateT $ \_ -> do
+    (s',x) <- mx
+    pure (x,s')
+
+instance ( Aligned.MonadBaseControl b m stM
+         ) => Aligned.MonadBaseControl b (FileExtListenerT m) (Compose stM ((,) FileExtMap)) where
+  liftBaseWith = Aligned.defaultLiftBaseWith
+  restoreM = Aligned.defaultRestoreM
 
 instance MonadTrans FileExtListenerT where
   lift m = FileExtListenerT (ReaderT (\_ -> lift m))
diff --git a/wai-middleware-content-type.cabal b/wai-middleware-content-type.cabal
--- a/wai-middleware-content-type.cabal
+++ b/wai-middleware-content-type.cabal
@@ -2,10 +2,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: f497bfc449fb4f1433a5f05220106caabf2e30185da00ecd30075efef2dfa54d
+-- hash: fed743c9d2b0d613f04ead0d53fa3b28ca25f57b5f76f0edcb6943fe4d73f922
 
 name:           wai-middleware-content-type
-version:        0.6.1
+version:        0.6.1.1
 synopsis:       Route to different middlewares based on the incoming Accept header.
 description:    Please see the README on Github at <https://git.localcooking.com/tooling/wai-middleware-content-type#readme>
 category:       Web
