diff --git a/ghc/lib/concurrent/Merge.lhs b/ghc/lib/concurrent/Merge.lhs
index 73cacc53fdd2266c62c9acebe4ca5687ad8373a9..5414c97fbb279d8aee783a331c45e60b241ceecd 100644
--- a/ghc/lib/concurrent/Merge.lhs
+++ b/ghc/lib/concurrent/Merge.lhs
@@ -24,13 +24,6 @@ max_buff_size = 1
 mergeIO :: [a] -> [a] -> IO [a]
 nmergeIO :: [[a]] -> IO [a]
 
-#ifndef __CONCURRENT_HASKELL__
-
-mergeIO _ _  = return []
-nmergeIO _   = return []
-
-#else
-
 mergeIO ls rs
  = newEmptyMVar		       >>= \ tail_node ->
    newMVar tail_node	       >>= \ tail_list ->
@@ -87,7 +80,5 @@ nmergeIO lss
     signalQSem e 	>>
     return val
   where
-    mapIO f xs = accumulate (map f xs)
-
-#endif {- __CONCURRENT_HASKELL__ -}
+    mapIO f xs = sequence (map f xs)
 \end{code}