diff --git a/tests/libposix/posix005.hs b/tests/libposix/posix005.hs
index 4365eb52bdd58c7a95a030794d70a5450d943f0e..2988f4c80fe5ceaa47738a464f5a2403bb4018a0 100644
--- a/tests/libposix/posix005.hs
+++ b/tests/libposix/posix005.hs
@@ -2,20 +2,23 @@
 import System.IO
 import System.Posix.Env
 
+printEnv :: IO ()
+printEnv = getEnvironment >>= print . sort
+
 main = do
     hSetBuffering stdout NoBuffering
     term <- getEnv "TERM"
     maybe (return ()) putStrLn term
     setEnvironment [("one","1"),("two","2")]
-    getEnvironment >>= print
+    printEnv
     setEnv "foo" "bar" True
-    getEnvironment >>= print
+    printEnv
     setEnv "foo" "baz" True
-    getEnvironment >>= print
+    printEnv
     setEnv "fu" "bar" True
-    getEnvironment >>= print
+    printEnv
     unsetEnv "foo"
-    getEnvironment >>= print
+    printEnv
     clearEnv
-    getEnvironment >>= print
+    printEnv