diff --git a/ghc/lib/concurrent/Channel.lhs b/ghc/lib/concurrent/Channel.lhs
index 6ae4ac83ff38e7bcbc347af2b3eb8038410f7d9d..ec874797d78c49c5b640c9cf3a54b6972cd12164 100644
--- a/ghc/lib/concurrent/Channel.lhs
+++ b/ghc/lib/concurrent/Channel.lhs
@@ -29,7 +29,7 @@ module Channel
 import Prelude
 import PrelConc
 import PrelST
-import PrelUnsafe ( unsafeInterleaveIO )
+import PrelIOBase ( unsafeInterleaveIO )
 \end{code}
 
 A channel is represented by two @MVar@s keeping track of the two ends
diff --git a/ghc/lib/concurrent/Merge.lhs b/ghc/lib/concurrent/Merge.lhs
index a036a052de311b4f33b0fac6eac27ea381c073c4..39f1c4ce2f974fce969842f30d889d9cd5f7d7ff 100644
--- a/ghc/lib/concurrent/Merge.lhs
+++ b/ghc/lib/concurrent/Merge.lhs
@@ -16,7 +16,6 @@ module Merge
 
 import Semaphore
 import PrelConc
-import PrelUnsafe  ( unsafeInterleaveIO )
 import PrelIOBase
 
 max_buff_size = 1
diff --git a/ghc/lib/exts/IOExts.lhs b/ghc/lib/exts/IOExts.lhs
index 4489ba6a9928bcc27bdc4f6d4859a8def86da124..305b15198aaca7f8088e029bfc9cc098a63199c8 100644
--- a/ghc/lib/exts/IOExts.lhs
+++ b/ghc/lib/exts/IOExts.lhs
@@ -44,7 +44,6 @@ import PrelBase
 import PrelIOBase
 import PrelHandle ( openFileEx, IOModeEx(..) )
 import PrelST
-import PrelUnsafe
 import PrelArr
 import PrelGHC
 import Ix
diff --git a/ghc/lib/exts/ST.lhs b/ghc/lib/exts/ST.lhs
index 2777fe4a8aad718a9d55c4bf891ea003b4e60f7e..238f71335935e809c9fc7d28bc89fc396908456d 100644
--- a/ghc/lib/exts/ST.lhs
+++ b/ghc/lib/exts/ST.lhs
@@ -29,7 +29,6 @@ module ST (
     ) where
 
 import PrelArr
-import PrelUnsafeST
 import PrelST
 import PrelBase	( Eq(..), Int, Bool, ($), ()(..) )
 import Monad