diff --git a/ghc/compiler/codeGen/CgBindery.lhs b/ghc/compiler/codeGen/CgBindery.lhs
index 9fbdb2c22126d064ce066c275736af0eccb3fd1d..e5916e4df742cdb03a2a1d6b57522a07f5ac062d 100644
--- a/ghc/compiler/codeGen/CgBindery.lhs
+++ b/ghc/compiler/codeGen/CgBindery.lhs
@@ -27,7 +27,6 @@ module CgBindery (
     ) where
 
 IMP_Ubiq(){-uitous-}
---IMPORT_DELOOPER(CgLoop1)		-- here for paranoia-checking
 
 import AbsCSyn
 import CgMonad
diff --git a/ghc/compiler/codeGen/CgCase.lhs b/ghc/compiler/codeGen/CgCase.lhs
index 07d9f48161daff874e9c1e7f03cff754c965f811..1c15b4be431ffa95751953246c4e71d4ed598c13 100644
--- a/ghc/compiler/codeGen/CgCase.lhs
+++ b/ghc/compiler/codeGen/CgCase.lhs
@@ -13,7 +13,11 @@
 module CgCase (	cgCase, saveVolatileVarsAndRegs ) where
 
 IMP_Ubiq(){-uitous-}
+#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ <= 201
 IMPORT_DELOOPER(CgLoop2)		( cgExpr, getPrimOpArgAmodes )
+#else
+import {-# SOURCE #-} CgExpr
+#endif
 
 import CgMonad
 import StgSyn
diff --git a/ghc/compiler/codeGen/CgClosure.lhs b/ghc/compiler/codeGen/CgClosure.lhs
index 4e96e75b9fff61a9e2f60bb0c871bdfaab539295..75a4d1921bb5d61664691ab29fd65af3ab816bc1 100644
--- a/ghc/compiler/codeGen/CgClosure.lhs
+++ b/ghc/compiler/codeGen/CgClosure.lhs
@@ -13,7 +13,11 @@ with {\em closures} on the RHSs of let(rec)s.  See also
 module CgClosure ( cgTopRhsClosure, cgRhsClosure ) where
 
 IMP_Ubiq(){-uitous-}
+#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ <= 201
 IMPORT_DELOOPER(CgLoop2)	( cgExpr )
+#else
+import {-# SOURCE #-} CgExpr ( cgExpr )
+#endif
 
 import CgMonad
 import AbsCSyn
diff --git a/ghc/compiler/codeGen/CgExpr.lhs b/ghc/compiler/codeGen/CgExpr.lhs
index 5026a31ea7590fdea89730fdf288008120138fdb..b600193b56c7b42ffb0d97a29587986ea909c594 100644
--- a/ghc/compiler/codeGen/CgExpr.lhs
+++ b/ghc/compiler/codeGen/CgExpr.lhs
@@ -13,7 +13,9 @@
 module CgExpr ( cgExpr, getPrimOpArgAmodes ) where
 
 IMP_Ubiq(){-uitous-}
+#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ <= 201
 IMPORT_DELOOPER(CgLoop2)	-- here for paranoia-checking
+#endif
 
 import Constants	( mAX_SPEC_SELECTEE_SIZE )
 import StgSyn
diff --git a/ghc/compiler/codeGen/CgLetNoEscape.lhs b/ghc/compiler/codeGen/CgLetNoEscape.lhs
index c3ee85bec2cd81abb2059074b265dac8cdf6b289..935b441910d0f9c8dbccc3978b374d387f49cb4a 100644
--- a/ghc/compiler/codeGen/CgLetNoEscape.lhs
+++ b/ghc/compiler/codeGen/CgLetNoEscape.lhs
@@ -13,7 +13,11 @@
 module CgLetNoEscape ( cgLetNoEscapeClosure ) where
 
 IMP_Ubiq(){-uitious-}
+#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ <= 201
 IMPORT_DELOOPER(CgLoop2)		( cgExpr )
+#else
+import {-# SOURCE #-} CgExpr ( cgExpr )
+#endif
 
 import StgSyn
 import CgMonad
diff --git a/ghc/compiler/codeGen/CgMonad.lhs b/ghc/compiler/codeGen/CgMonad.lhs
index bd7c9d673dc9b3ec37a7761e35c81300c7663553..902774bd2d0a25188cb19740fcb4b8e647f5f996 100644
--- a/ghc/compiler/codeGen/CgMonad.lhs
+++ b/ghc/compiler/codeGen/CgMonad.lhs
@@ -47,9 +47,15 @@ module CgMonad (
 	CompilationInfo(..)
     ) where
 
+IMPORT_1_3(List(nub))
 IMP_Ubiq(){-uitous-}
+
+#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ <= 201
 IMPORT_DELOOPER(CgLoop1)		-- stuff from CgBindery and CgUsages
-IMPORT_1_3(List(nub))
+#else
+import {-# SOURCE #-} CgBindery 
+import {-# SOURCE #-} CgUsages
+#endif
 
 import AbsCSyn
 import AbsCUtils	( mkAbsCStmts )