diff --git a/ghc/tests/codeGen/should_run/cg026.hs b/ghc/tests/codeGen/should_run/cg026.hs
index 2600db5e1e1fdf44df422b3ee13a4d53bd12e9d2..4deaab935a4a8761c26bf3c04582a4fcc50f2afa 100644
--- a/ghc/tests/codeGen/should_run/cg026.hs
+++ b/ghc/tests/codeGen/should_run/cg026.hs
@@ -3,6 +3,7 @@
 module Main ( main ) where
 
 import PrelBase
+import PrelAddr(indexAddrOffAddr)
 import ST
 import IOExts
 import ST
@@ -27,13 +28,18 @@ main = putStr
 -- Arr# Char# -------------------------------------------
 -- (main effort is in packString#)
 
+foreign label "stdout" addrOfStdout :: Addr
+
+stdout :: Addr
+stdout = indexAddrOffAddr addrOfStdout 0
+
 test_chars :: String
 test_chars
   = let str = reverse "Now is the time for all good men to come to...\n"
     in
     unsafePerformIO (
-	_ccall_ fprintf (``stdout''::Addr) (packString "%d %s\n") (93::Int) (packString str) >>
-	_ccall_ fflush  (``stdout''::Addr)  >>
+	_ccall_ fprintf stdout (packString "%d %s\n") (93::Int) (packString str) >>
+	_ccall_ fflush  stdout >>
 	return ""
 	)