diff --git a/ghc/compiler/rename/RnMonad.lhs b/ghc/compiler/rename/RnMonad.lhs
index 37363ed75c3b647f6868b89e4ad2dfd1ba200dfa..0d2748d8ff5f95a0ec48fa89a25294f41aa9e704 100644
--- a/ghc/compiler/rename/RnMonad.lhs
+++ b/ghc/compiler/rename/RnMonad.lhs
@@ -52,7 +52,7 @@ import PrelInfo		( builtinNames )
 import TyCon		( TyCon {- instance NamedThing -} )
 import TysWiredIn	( boolTyCon )
 import Pretty
-import Outputable	( PprStyle(..) )
+import Outputable	( PprStyle(..), printErrs )
 import SrcLoc		( SrcLoc, mkGeneratedSrcLoc )
 import Unique		( Unique )
 import UniqFM		( UniqFM )
@@ -97,8 +97,7 @@ traceRn msg | opt_D_show_rn_trace = putDocRn msg
 	    | otherwise		  = returnRn ()
 
 putDocRn :: Doc -> RnMG ()
-putDocRn msg = ioToRnMG (hPutStr stderr (show msg) >> 
-	       hPutStr stderr "\n")	`thenRn_`
+putDocRn msg = ioToRnMG (printErrs msg)	`thenRn_`
 	       returnRn ()
 \end{code}