--- libraries/base/GHC/Conc.lhs	2008-12-09 12:09:17.000000000 +0600
+++ libraries/base/GHC/Conc.lhs.orig	2008-11-04 00:13:59.000000000 +0600
@@ -1108,9 +1108,8 @@
                   _ -> withMVar signalHandlerLock $ \_ -> do
                           handler_tbl <- peek handlers
                           sp <- peekElemOff handler_tbl (fromIntegral s)
-                          case (unsafeCoerce# sp > 0) of
-                           True   -> deRefStablePtr sp >>= forkIO >> return ()
-                           False  -> return ()
+                          io <- deRefStablePtr sp
+                          forkIO io
                           return False
 
   if exit then return () else do
