diff --git a/Control/Monad/Ghc.hs b/Control/Monad/Ghc.hs
--- a/Control/Monad/Ghc.hs
+++ b/Control/Monad/Ghc.hs
@@ -5,7 +5,9 @@
 
 where
 
+#if __GLASGOW_HASKELL__ < 706
 import Prelude hiding ( catch )
+#endif
 
 import Control.Monad.Trans
 import qualified Control.Monad.Trans as MTL
@@ -20,11 +22,16 @@
 import qualified HscTypes   as GHC
 #endif
 
+#if __GLASGOW_HASKELL__ >= 706
+import qualified DynFlags as GHC
+#endif
 
 newtype Ghc a = Ghc (GHC.Ghc a)
     deriving (Functor, Monad,
 #if __GLASGOW_HASKELL__ < 702
               GHC.WarnLogMonad,
+#elif __GLASGOW_HASKELL__ >= 706
+              GHC.HasDynFlags,
 #endif
               GHC.ExceptionMonad, GHC.MonadIO, GHC.GhcMonad)
 
@@ -40,7 +47,11 @@
 runGhc f (Ghc m) = GHC.runGhc f m
 
 newtype GhcT m a = GhcT { unGhcT :: GHC.GhcT (MTLAdapter m) a }
-                 deriving (Functor, Monad)
+                 deriving (Functor,
+#if __GLASGOW_HASKELL__ >= 706
+                           GHC.HasDynFlags,
+#endif
+                           Monad)
 
 runGhcT :: (Functor m, MonadCatchIO m) => Maybe FilePath -> GhcT m a -> m a
 runGhcT f = unWrap . GHC.runGhcT f . unGhcT
diff --git a/ghc-mtl.cabal b/ghc-mtl.cabal
--- a/ghc-mtl.cabal
+++ b/ghc-mtl.cabal
@@ -1,5 +1,5 @@
 name:               ghc-mtl
-version:            1.0.1.1
+version:            1.0.1.2
 description:        Provides an 'mtl' compatible version of the 'GhcT'
                     monad-transformer defined in the 'GHC-API' since version
                     6.10.1.
