diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,6 @@
+0.7.6.3
+* Documentation fix on `recoverAll`
+
 0.7.6.2
 * Loosen bounds on exceptions again.
 
diff --git a/retry.cabal b/retry.cabal
--- a/retry.cabal
+++ b/retry.cabal
@@ -14,7 +14,7 @@
         case we should hang back for a bit and retry the query instead
         of simply raising an exception.
 
-version:             0.7.6.2
+version:             0.7.6.3
 synopsis:            Retry combinators for monadic actions that may fail
 license:             BSD3
 license-file:        LICENSE
diff --git a/src/Control/Retry.hs b/src/Control/Retry.hs
--- a/src/Control/Retry.hs
+++ b/src/Control/Retry.hs
@@ -428,7 +428,7 @@
 -- good idea to catch async exceptions as it can result in hanging
 -- threads and programs. Note that if you just throw an exception to
 -- this thread that does not descend from SomeException, recoverAll
--- will catch it.
+-- will not catch it.
 --
 -- See how the action below is run once and retried 5 more times
 -- before finally failing for good:
diff --git a/test/Tests/Control/Retry.hs b/test/Tests/Control/Retry.hs
--- a/test/Tests/Control/Retry.hs
+++ b/test/Tests/Control/Retry.hs
@@ -88,7 +88,6 @@
             f
           (res :: Either Custom1 ()) @?= Right ()
 
-
       , testCase "fails beyond policy using custom exceptions" $ do
           f <- mkFailN Custom1 3
           res <- try $ recovering
@@ -97,6 +96,12 @@
             f
           (res :: Either Custom1 ()) @?= Left Custom1
 
+      , testCase "recoverAll won't catch exceptions which are not decendants of SomeException" $ do
+          f <- mkFailN Custom1 4
+          res <- try $ recoverAll
+            (constantDelay 5000 <> limitRetries 3)
+            f
+          (res :: Either Custom1 ()) @?= Left Custom1
 
       , testCase "does not recover from unhandled exceptions" $ do
           f <- mkFailN Custom2 2
