diff --git a/ghc/compiler/basicTypes/Name.lhs b/ghc/compiler/basicTypes/Name.lhs
index 20c105111f34a568ce161235f3df41eb330e5ede..12858575dfe1dc1c3c27dca551a179e6d8b35c71 100644
--- a/ghc/compiler/basicTypes/Name.lhs
+++ b/ghc/compiler/basicTypes/Name.lhs
@@ -55,7 +55,13 @@ module Name (
     ) where
 
 IMP_Ubiq()
-import TyLoop		--( GenId, Id(..), TyCon )			-- Used inside Names
+#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ <= 201
+IMPORT_DELOOPER(TyLoop)	( GenId, Id(..), TyCon )			-- Used inside Names
+#else
+import {-# SOURCE #-} Id    ( Id )
+import {-# SOURCE #-} TyCon ( TyCon )
+#endif
+
 import CStrings		( identToC, modnameToC, cSEP )
 import CmdLineOpts	( opt_OmitInterfacePragmas, opt_EnsureSplittableC )
 import BasicTypes	( SYN_IE(Module), moduleString, pprModule )
diff --git a/ghc/compiler/basicTypes/PprEnv.lhs b/ghc/compiler/basicTypes/PprEnv.lhs
index 2c4dd1f91368b4acd4f38caaa18b262cb2fe3e23..63aa9c355386e9d80e89b47aa39701c79a8b31b4 100644
--- a/ghc/compiler/basicTypes/PprEnv.lhs
+++ b/ghc/compiler/basicTypes/PprEnv.lhs
@@ -31,7 +31,9 @@ import Unique		( initRenumberingUniques, Unique )
 import UniqFM		( emptyUFM, UniqFM )
 import Util		( panic )
 #if __GLASGOW_HASKELL__ >= 202
-IMPORT_DELOOPER(TyLoop)
+import {-# SOURCE #-}   Type  ( GenType )
+import {-# SOURCE #-}   TyVar ( TyVar   )
+import {-# SOURCE #-}   Id ( Id )
 import Outputable       ( PprStyle )
 import Literal          ( Literal )
 import Usage            ( GenUsage, SYN_IE(Usage) )