diff --git a/Control/Async.hs b/Control/Async.hs
--- a/Control/Async.hs
+++ b/Control/Async.hs
@@ -31,7 +31,7 @@
 forkAsync' :: IO a -> AsyncMVar a -> IO (Async a)
 forkAsync' f mv = fmap (\p -> Child p mv) (block (forkIO f'))
   where
-    f' = try f >>= tryPutMVar mv >> return ()
+    f' = try (unblock f) >>= tryPutMVar mv >> return ()
 
 forkAsync :: IO a -> IO (Async a)
 forkAsync f = newEmptyMVar >>= forkAsync' f
diff --git a/async.cabal b/async.cabal
--- a/async.cabal
+++ b/async.cabal
@@ -1,5 +1,5 @@
 Name:                   async
-Version:                1.1
+Version:                1.2
 Copyright:              (c) 2004-2010 Peter Simons
 License:                BSD3
 License-File:		LICENSE
