diff --git a/ghc/lib/posix/PosixUtil.lhs b/ghc/lib/posix/PosixUtil.lhs
index 127524ee5424aa77b47d346407db533be3ca06ee..9334af90047c206eab25585e86532427633a9807 100644
--- a/ghc/lib/posix/PosixUtil.lhs
+++ b/ghc/lib/posix/PosixUtil.lhs
@@ -12,7 +12,12 @@ import PrelIOBase  -- IOError representation
 import Addr
 import Foreign
 import CCall
-import PrelBase
+import PrelAddr
+import PrelBase ( Int(..), Int#, (==#)
+                , newIntArray#, unsafeFreezeByteArray#, newCharArray#
+		, RealWorld
+		)
+
 import MutableArray
 import ByteArray
 import Array
@@ -64,7 +69,8 @@ errno.
 syserr :: String -> IO a
 syserr str = fail (IOError Nothing     -- ToDo: better
 			   SystemError
-			   str)
+			   str
+			   "")
 
 -- Allocate a mutable array of characters with no indices.