diff --git a/README b/README
--- a/README
+++ b/README
@@ -1,6 +1,6 @@
 darcswatch
 
-© 2008 Joachim Breitner <mail@joachim-breitner.de>
+© 2008-2010 Joachim Breitner <mail@joachim-breitner.de>
 
 This program tracks darcs patches and repositories, giving
 an overview over their state (applied or not applied).
diff --git a/darcswatch.cabal b/darcswatch.cabal
--- a/darcswatch.cabal
+++ b/darcswatch.cabal
@@ -1,5 +1,5 @@
 Name:            darcswatch
-version:         0.4
+version:         0.4.1
 Category:        Distribution
 name:            darcswatch
 author:          Joachim Breitner
diff --git a/src/Darcs/Watch/PullRepos.hs b/src/Darcs/Watch/PullRepos.hs
--- a/src/Darcs/Watch/PullRepos.hs
+++ b/src/Darcs/Watch/PullRepos.hs
@@ -68,4 +68,13 @@
 
 {- forkSequence = sequence -}
 -- Enable for parallel downloads
-forkSequence acts = mapM (\act -> newEmptyMVar >>= \mvar -> forkIO (act >>= putMVar mvar) >> return mvar) acts >>= mapM takeMVar
+forkSequence acts = do
+    sem <- newQSem 5
+    mvars <- forM acts $ \act -> do
+        mvar <- newEmptyMVar
+        forkIO $ do 
+            waitQSem sem
+            act >>= putMVar mvar
+            signalQSem sem
+        return mvar
+    mapM takeMVar mvars
diff --git a/src/Darcs/Watch/Storage.hs b/src/Darcs/Watch/Storage.hs
--- a/src/Darcs/Watch/Storage.hs
+++ b/src/Darcs/Watch/Storage.hs
@@ -30,7 +30,6 @@
 import System.Directory
 import Data.List
 import Control.Applicative
-import System.Directory
 import Control.Monad
 import Data.Char
 
