diff --git a/Control/Applicative/Backwards.hs b/Control/Applicative/Backwards.hs
index bce3af4453c6249802d2fedd06dab64140f02d8c..be1b29ca05e498ae3ea967963f3e7997b3b90723 100644
--- a/Control/Applicative/Backwards.hs
+++ b/Control/Applicative/Backwards.hs
@@ -41,7 +41,7 @@ import GHC.Generics
 import Prelude hiding (foldr, foldr1, foldl, foldl1, null, length)
 import Control.Applicative
 import Data.Foldable
-#if !(MIN_VERSION_base(4,8,0))
+#if !(MIN_VERSION_base(4,8,0)) || defined(__MHS__)
 import Data.Traversable (Traversable(traverse, sequenceA))
 #endif
 
diff --git a/Control/Applicative/Lift.hs b/Control/Applicative/Lift.hs
index 69ac4a31961ed1bca188802d29e209ae82cf3ce0..9c6418bc2a8bcbbc3100902959c392af5ca18cce 100644
--- a/Control/Applicative/Lift.hs
+++ b/Control/Applicative/Lift.hs
@@ -39,7 +39,7 @@ import Data.Functor.Classes
 
 import Control.Applicative
 import Data.Functor.Constant
-#if !(MIN_VERSION_base(4,8,0))
+#if !(MIN_VERSION_base(4,8,0)) || defined(__MHS__)
 import Data.Foldable (Foldable(foldMap))
 import Data.Monoid (Monoid(..))
 import Data.Traversable (Traversable(traverse))
diff --git a/Control/Monad/Trans/Except.hs b/Control/Monad/Trans/Except.hs
index 340082c3a70dacb5d42455701fa8973d50af92fd..1bdaa3c9db2643b6c82b1f86ccae57e59d09df6c 100644
--- a/Control/Monad/Trans/Except.hs
+++ b/Control/Monad/Trans/Except.hs
@@ -70,7 +70,7 @@ import Control.Monad.Fix
 #if MIN_VERSION_base(4,4,0)
 import Control.Monad.Zip (MonadZip(mzipWith))
 #endif
-#if !(MIN_VERSION_base(4,8,0))
+#if !(MIN_VERSION_base(4,8,0)) || defined(__MHS__)
 import Data.Foldable (Foldable(foldMap))
 import Data.Monoid (Monoid(mempty, mappend))
 import Data.Traversable (Traversable(traverse))
diff --git a/Control/Monad/Trans/Identity.hs b/Control/Monad/Trans/Identity.hs
index 8854a3c9a00f337b87ca163cedb3673b19585f20..f150ed7acc67f06dc9dd8c0602f3f61662f6a4a9 100644
--- a/Control/Monad/Trans/Identity.hs
+++ b/Control/Monad/Trans/Identity.hs
@@ -54,7 +54,7 @@ import Control.Monad.Fix (MonadFix(mfix))
 import Control.Monad.Zip (MonadZip(mzipWith))
 #endif
 import Data.Foldable
-#if !(MIN_VERSION_base(4,8,0))
+#if !(MIN_VERSION_base(4,8,0)) || defined(__MHS__)
 import Data.Traversable (Traversable(traverse))
 #endif
 import Prelude hiding (foldr, foldr1, foldl, foldl1, null, length)
diff --git a/Control/Monad/Trans/Maybe.hs b/Control/Monad/Trans/Maybe.hs
index 3ddfd8c2e335cd8459e2448153be65150161ef38..62da88365e89fe7e14cf0d524ae659023c07e95e 100644
--- a/Control/Monad/Trans/Maybe.hs
+++ b/Control/Monad/Trans/Maybe.hs
@@ -61,7 +61,7 @@ import Control.Monad.Fix (MonadFix(mfix))
 import Control.Monad.Zip (MonadZip(mzipWith))
 #endif
 import Data.Maybe (fromMaybe)
-#if !(MIN_VERSION_base(4,8,0))
+#if !(MIN_VERSION_base(4,8,0)) || defined(__MHS__)
 import Data.Foldable (Foldable(foldMap))
 import Data.Traversable (Traversable(traverse))
 #endif
diff --git a/Control/Monad/Trans/Writer/Lazy.hs b/Control/Monad/Trans/Writer/Lazy.hs
index 8e2fcd9040da24e61aeef08eecc9e78e41948f59..8da513bf8913555c60a5a4cd04c148f10bfd0659 100644
--- a/Control/Monad/Trans/Writer/Lazy.hs
+++ b/Control/Monad/Trans/Writer/Lazy.hs
@@ -70,7 +70,7 @@ import Control.Monad.Zip (MonadZip(mzipWith))
 #endif
 import Data.Foldable
 import Data.Monoid
-#if !(MIN_VERSION_base(4,8,0))
+#if !(MIN_VERSION_base(4,8,0)) || defined(__MHS__)
 import Data.Traversable (Traversable(traverse))
 #endif
 import Prelude hiding (null, length)
diff --git a/Control/Monad/Trans/Writer/Strict.hs b/Control/Monad/Trans/Writer/Strict.hs
index 57d4fae848324410a62f426e8e082e1073d354f5..d585da9fb6bedb7bd27140dbeef0326f74cd5f44 100644
--- a/Control/Monad/Trans/Writer/Strict.hs
+++ b/Control/Monad/Trans/Writer/Strict.hs
@@ -73,7 +73,7 @@ import Control.Monad.Zip (MonadZip(mzipWith))
 #endif
 import Data.Foldable
 import Data.Monoid
-#if !(MIN_VERSION_base(4,8,0))
+#if !(MIN_VERSION_base(4,8,0)) || defined(__MHS__)
 import Data.Traversable (Traversable(traverse))
 #endif
 import Prelude hiding (null, length)
diff --git a/Data/Functor/Constant.hs b/Data/Functor/Constant.hs
index 3391d0d0df63141a6469132b0e6e9ea01fabaf65..2c3c6c2d979bec1c8d9615fc32a3f6e1ca0727c5 100644
--- a/Data/Functor/Constant.hs
+++ b/Data/Functor/Constant.hs
@@ -36,7 +36,7 @@ import Data.Functor.Contravariant
 
 import Control.Applicative
 import Data.Foldable
-#if !(MIN_VERSION_base(4,8,0))
+#if !(MIN_VERSION_base(4,8,0)) || defined(__MHS__)
 import Data.Monoid (Monoid(..))
 import Data.Traversable (Traversable(traverse))
 #endif
diff --git a/Data/Functor/Reverse.hs b/Data/Functor/Reverse.hs
index f1a30dd0b98abc13c5c8c9f386658b4ee2d03bbf..d0918acd39b7c9accfb3b374b457e85a1fd09b6a 100644
--- a/Data/Functor/Reverse.hs
+++ b/Data/Functor/Reverse.hs
@@ -43,7 +43,7 @@ import Control.Monad
 import qualified Control.Monad.Fail as Fail
 #endif
 import Data.Foldable
-#if !(MIN_VERSION_base(4,8,0))
+#if !(MIN_VERSION_base(4,8,0)) || defined(__MHS__)
 import Data.Traversable (Traversable(traverse))
 #endif
 import Data.Monoid
diff --git a/transformers.cabal b/transformers.cabal
index ce82dbba44fa359b4b922c3baa31059e1c450e69..9ead9cd84ab04a5ed0f4ec2f813a29329de6e034 100644
--- a/transformers.cabal
+++ b/transformers.cabal
@@ -1,5 +1,5 @@
 name:         transformers
-version:      0.6.1.1
+version:      0.6.1.2
 license:      BSD3
 license-file: LICENSE
 author:       Andy Gill, Ross Paterson
@@ -47,13 +47,13 @@ library
   default-language: Haskell2010
   build-depends: base >= 2 && < 6
   hs-source-dirs: .
-  if !impl(ghc>=7.9)
+  if impl(ghc<7.9)
     -- Data.Functor.Identity was moved into base-4.8.0.0 (GHC 7.10)
     -- see also https://ghc.haskell.org/trac/ghc/ticket/9664
     -- NB: using impl(ghc>=7.9) instead of fragile Cabal flags
     hs-source-dirs: legacy/pre709
     exposed-modules: Data.Functor.Identity
-  if !impl(ghc>=7.11)
+  if impl(ghc<7.11)
     -- modules moved into base-4.9.0 (GHC 8.0)
     -- see https://ghc.haskell.org/trac/ghc/ticket/10773
     -- see https://ghc.haskell.org/trac/ghc/ticket/11135