diff --git a/hspec-core.cabal b/hspec-core.cabal
--- a/hspec-core.cabal
+++ b/hspec-core.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 39dc148675f73276544e876331589928821112ae13bb688991d3c5c5ee686cee
+-- hash: 82bf612e65db816a15de01c4c432597ef4492ceeb81f46063dcdd57b74ec523a
 
 name:             hspec-core
-version:          2.7.0
+version:          2.7.1
 license:          MIT
 license-file:     LICENSE
 copyright:        (c) 2011-2019 Simon Hengel,
@@ -34,7 +34,7 @@
   ghc-options: -Wall
   build-depends:
       HUnit ==1.6.*
-    , QuickCheck ==2.12.*
+    , QuickCheck >=2.13.1
     , ansi-terminal >=0.5
     , array
     , base >=4.5.0.0 && <5
@@ -92,7 +92,7 @@
   cpp-options: -DTEST
   build-depends:
       HUnit ==1.6.*
-    , QuickCheck ==2.12.*
+    , QuickCheck >=2.13.1
     , ansi-terminal >=0.5
     , array
     , base >=4.5.0.0 && <5
diff --git a/test/Test/Hspec/Core/ExampleSpec.hs b/test/Test/Hspec/Core/ExampleSpec.hs
--- a/test/Test/Hspec/Core/ExampleSpec.hs
+++ b/test/Test/Hspec/Core/ExampleSpec.hs
@@ -145,7 +145,7 @@
       it "shows what falsified it" $ do
         Result "" (Failure _ r) <- evaluateExample $ property $ \ (x :: Int) (y :: Int) -> (x == 0 && y == 1) ==> False
         r `shouldBe` (Reason . intercalate "\n")  [
-            "Falsifiable (after 1 test):"
+            "Falsified (after 1 test):"
           , "  0"
           , "  1"
           ]
diff --git a/test/Test/Hspec/Core/QuickCheckUtilSpec.hs b/test/Test/Hspec/Core/QuickCheckUtilSpec.hs
--- a/test/Test/Hspec/Core/QuickCheckUtilSpec.hs
+++ b/test/Test/Hspec/Core/QuickCheckUtilSpec.hs
@@ -91,7 +91,7 @@
             , "0"
             , ""
             , "Passed:"
-            , "-39"
+            , "28"
             ]
         parseQuickCheckResult <$> quickCheckWithResult args {maxSuccess = 2} (verbose p) `shouldReturn`
           QuickCheckResult 2 info (QuickCheckOtherFailure "Passed 2 tests (expected failure).")
@@ -113,7 +113,7 @@
               , "0"
               , ""
               , "Passed:"
-              , "-39"
+              , "28"
               , ""
               , "+++ OK, passed 2 tests."
               , ""
@@ -133,29 +133,29 @@
             , quickCheckFailureException = Nothing
             , quickCheckFailureReason = "Insufficient coverage"
             , quickCheckFailureCounterexample = [
-                " 1.0% is 23"
+                " 0.8% is 23"
               , ""
-              , "Only 1.0% is 23, but expected 10.0%"
+              , "Only 0.8% is 23, but expected 10.0%"
               ]
             }
 
         it "parses result" $ do
           parseQuickCheckResult <$> qc p `shouldReturn`
-            QuickCheckResult 800 "" (QuickCheckFailure failure)
+            QuickCheckResult 400 "" (QuickCheckFailure failure)
 
         it "includes verbose output" $ do
-          let info = intercalate "\n\n" (replicate 799 "Passed:")
+          let info = intercalate "\n\n" (replicate 399 "Passed:")
           parseQuickCheckResult <$> qc (verbose . p) `shouldReturn`
-            QuickCheckResult 800 info (QuickCheckFailure failure)
+            QuickCheckResult 400 info (QuickCheckFailure failure)
 
     context "with Failure" $ do
       context "with single-line failure reason" $ do
         let
           p :: Int -> Bool
-          p = (/= 1)
+          p = (< 1)
 
-          err = "Falsifiable"
-          result = QuickCheckResult 2 "" (QuickCheckFailure $ QCFailure 0 Nothing err ["1"])
+          err = "Falsified"
+          result = QuickCheckResult 3 "" (QuickCheckFailure $ QCFailure 1 Nothing err ["1"])
 
         it "parses result" $ do
           parseQuickCheckResult <$> qc p `shouldReturn` result
@@ -165,7 +165,16 @@
                   "Passed:"
                 , "0"
                 , ""
+                , "Passed:"
+                , "-1"
+                , ""
                 , "Failed:"
+                , "2"
+                , ""
+                , "Passed:"
+                , "0"
+                , ""
+                , "Failed:"
                 , "1"
                 , ""
                 , "Passed:"
@@ -177,10 +186,10 @@
       context "with multi-line failure reason" $ do
         let
           p :: Int -> QCP.Result
-          p n = if n /= 1 then QCP.succeeded else QCP.failed {QCP.reason = err}
+          p n = if n /= 2 then QCP.succeeded else QCP.failed {QCP.reason = err}
 
           err = "foo\nbar"
-          result = QuickCheckResult 2 "" (QuickCheckFailure $ QCFailure 0 Nothing err ["1"])
+          result = QuickCheckResult 3 "" (QuickCheckFailure $ QCFailure 0 Nothing err ["2"])
 
         it "parses result" $ do
           parseQuickCheckResult <$> qc p `shouldReturn` result
@@ -190,11 +199,17 @@
                   "Passed:"
                 , "0"
                 , ""
+                , "Passed:"
+                , "-1"
+                , ""
                 , "Failed:"
-                , "1"
+                , "2"
                 , ""
                 , "Passed:"
                 , "0"
+                , ""
+                , "Passed:"
+                , "1"
                 ]
           parseQuickCheckResult <$> qc (verbose p) `shouldReturn` result {quickCheckResultInfo = info}
 
