diff --git a/SimpleLog.cabal b/SimpleLog.cabal
--- a/SimpleLog.cabal
+++ b/SimpleLog.cabal
@@ -1,5 +1,5 @@
 name:                SimpleLog
-version:             0.1.0.2
+version:             0.1.0.3
 synopsis:            Simple, configurable logging
 description:         SimpleLog allows configurable multi-threaded logging
 license:             BSD3
@@ -29,7 +29,7 @@
                        containers < 1,
                        resourcet < 2 && >= 1,
                        transformers-base < 1,
-                       monad-control < 1,
+                       monad-control == 1.*,
                        text < 2 && >= 1,
                        th-lift < 1,
                        semigroups < 1
diff --git a/src/System/Log/SLog.hs b/src/System/Log/SLog.hs
--- a/src/System/Log/SLog.hs
+++ b/src/System/Log/SLog.hs
@@ -292,17 +292,17 @@
 deriving instance (MonadBase IO m, MonadThrow m, MonadIO m) => MonadResource (SLogT m)
 
 instance MonadTransControl SLogT where
-    newtype StT SLogT a = StTSLogT {unStTSLogT :: StT ResourceT a}
+    type StT SLogT a = StT ResourceT a
     liftWith f = SLogT . ReaderT $ \r ->
                    liftWith $ \lres ->
                      f $ \(SLogT t) ->
-                       liftM StTSLogT $ lres $ runReaderT t r
-    restoreT = SLogT . lift . restoreT . liftM unStTSLogT
+                       lres $ runReaderT t r
+    restoreT = SLogT . lift . restoreT
 
 instance (MonadBaseControl IO m) => MonadBaseControl IO (SLogT m) where
-    newtype StM (SLogT m) a = StMSLogT { unStMSLogT :: ComposeSt SLogT m a }
-    liftBaseWith = defaultLiftBaseWith StMSLogT
-    restoreM = defaultRestoreM unStMSLogT
+    type StM (SLogT m) a = ComposeSt SLogT m a
+    liftBaseWith = defaultLiftBaseWith
+    restoreM = defaultRestoreM
 
 instance MonadTrans SLogT where
     lift = SLogT . lift . lift
