diff --git a/apiary-logger.cabal b/apiary-logger.cabal
--- a/apiary-logger.cabal
+++ b/apiary-logger.cabal
@@ -1,5 +1,5 @@
 name:                apiary-logger
-version:             1.2.0
+version:             1.2.1
 synopsis:            fast-logger support for apiary web framework.
 description:
   example: <https://github.com/philopon/apiary/blob/master/examples/persistent.hs>
@@ -26,7 +26,7 @@
 
                      , transformers       >=0.2   && <0.5
                      , transformers-base  >=0.4   && <0.5
-                     , monad-control      >=0.3   && <0.4
+                     , monad-control      >=0.3   && <1.1
                      , lifted-base        >=0.2   && <0.3
   hs-source-dirs:      src
   ghc-options:         -O2 -Wall
diff --git a/src/Web/Apiary/Logger.hs b/src/Web/Apiary/Logger.hs
--- a/src/Web/Apiary/Logger.hs
+++ b/src/Web/Apiary/Logger.hs
@@ -1,11 +1,12 @@
-{-# LANGUAGE RecordWildCards #-}
-{-# LANGUAGE FlexibleInstances #-}
-{-# LANGUAGE FlexibleContexts #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
-{-# LANGUAGE Rank2Types #-}
-{-# LANGUAGE TypeFamilies #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
 {-# LANGUAGE UndecidableInstances #-}
+{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE FlexibleContexts #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE Rank2Types #-}
+{-# LANGUAGE CPP #-}
 
 module Web.Apiary.Logger
     ( Logger
@@ -98,14 +99,26 @@
 runLogWrapper e = flip runReaderT e . unLogWrapper
 
 instance MonadTransControl (LogWrapper exts) where
+#if MIN_VERSION_monad_control(1,0,0)
+    type StT (LogWrapper exts) a = StT (ReaderT (Extensions exts)) a
+    liftWith = defaultLiftWith LogWrapper unLogWrapper
+    restoreT = defaultRestoreT LogWrapper
+#else
     newtype StT (LogWrapper exts) a = StLogWrapper { unStLogWrapper :: StT (ReaderT (Extensions exts)) a }
     liftWith = defaultLiftWith LogWrapper unLogWrapper StLogWrapper
     restoreT = defaultRestoreT LogWrapper unStLogWrapper
+#endif
 
 instance MonadBaseControl b m => MonadBaseControl b (LogWrapper exts m) where
+#if MIN_VERSION_monad_control(1,0,0)
+    type StM (LogWrapper exts m) a = ComposeSt (LogWrapper exts) m a
+    liftBaseWith = defaultLiftBaseWith
+    restoreM     = defaultRestoreM
+#else
     newtype StM (LogWrapper exts m) a = StMLogWrapper { unStMLogWrapper :: ComposeSt (LogWrapper exts) m a }
     liftBaseWith = defaultLiftBaseWith StMLogWrapper
     restoreM     = defaultRestoreM     unStMLogWrapper
+#endif
 
 instance Monad m => MonadExts exts (LogWrapper exts m) where
     getExts = LogWrapper ask
