diff --git a/Events/Events.hs b/Events/Events.hs
--- a/Events/Events.hs
+++ b/Events/Events.hs
@@ -192,7 +192,7 @@
 -- ----------------------------------------------------------------------
 
 -- | Catch an error if it occurs during an action attached to an event.
-tryEV :: Event a -> Event (Either Exception a)
+tryEV :: Event a -> Event (Either SomeException a)
 tryEV (Event registerFn) = Event (
    \ toggle errorOraSink ->
       registerFn toggle (\ aAct ->
diff --git a/Events/Spawn.hs b/Events/Spawn.hs
--- a/Events/Spawn.hs
+++ b/Events/Spawn.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -- | Spawn provides an interface to Concurrent.forkIO which is supposed
 -- to be implementable for both Hugs and GHC.
 --
@@ -28,10 +30,15 @@
    do
       result <-
          tryJust
-            (\ exception -> case exception of
-               AsyncException ThreadKilled -> Just ()
-               BlockedOnDeadMVar -> Just ()
-               _ -> Nothing
+            (\ exception -> case fromException exception of
+               Just ThreadKilled -> Just ()
+               _ -> case fromException exception of
+#if __GLASGOW_HASKELL__ >= 612
+                 Just BlockedIndefinitelyOnMVar -> Just ()
+#else
+                 Just BlockedOnDeadMVar -> Just ()
+#endif
+                 _ -> Nothing
                )
             action
       case result of
diff --git a/uni-events.cabal b/uni-events.cabal
--- a/uni-events.cabal
+++ b/uni-events.cabal
@@ -1,5 +1,5 @@
 name:           uni-events
-version:        2.2.0.0
+version:        2.2.1.0
 build-type:     Simple
 license:        LGPL
 license-file:   LICENSE
@@ -10,7 +10,7 @@
 synopsis:       Event handling for the uniform workbench
 description:    uni events
 cabal-version:  >= 1.4
-Tested-With:    GHC==6.8.3, GHC==6.10.4, GHC==6.12.3
+Tested-With:    GHC==6.10.4, GHC==6.12.3
 
 library
   exposed-modules:
@@ -30,9 +30,6 @@
     Events.RefQueue,
     Events.Synchronized
 
-  build-depends: base >=3 && < 4, containers, uni-util
+  build-depends: base >=4 && < 5, containers, uni-util
 
-  if impl(ghc < 6.10)
-    extensions: PatternSignatures
-  else
-    ghc-options: -fwarn-unused-imports -fno-warn-warnings-deprecations
+  ghc-options: -fwarn-unused-imports -fno-warn-warnings-deprecations
