diff --git a/hspec-meta.cabal b/hspec-meta.cabal
--- a/hspec-meta.cabal
+++ b/hspec-meta.cabal
@@ -1,5 +1,5 @@
 name:             hspec-meta
-version:          1.5.0
+version:          1.5.1
 license:          BSD3
 license-file:     LICENSE
 copyright:        (c) 2011-2013 Simon Hengel, (c) 2011-2012 Trystan Spangler, (c) 2011 Greg Weber
@@ -52,7 +52,8 @@
     , transformers  >= 0.2.2.0 && < 0.4.0
     , HUnit         >= 1.2.5
     , QuickCheck    >= 2.5.1
-    , hspec-expectations == 0.3.0.*
+    , quickcheck-io
+    , hspec-expectations == 0.3.2.*
   exposed-modules:
       Test.Hspec.Meta
   other-modules:
diff --git a/src/Test/Hspec/Core/Type.hs b/src/Test/Hspec/Core/Type.hs
--- a/src/Test/Hspec/Core/Type.hs
+++ b/src/Test/Hspec/Core/Type.hs
@@ -32,9 +32,11 @@
 import qualified Test.QuickCheck as QC
 import qualified Test.QuickCheck.State as QC
 import qualified Test.QuickCheck.Property as QCP
+import qualified Test.QuickCheck.IO ()
 
 import           Test.Hspec.Compat (isUserInterrupt)
 
+
 type Spec = SpecM ()
 
 -- | A writer monad for `SpecTree` forests.
@@ -138,17 +140,6 @@
         where
           n = length prefix
           prefix = "*** Failed! Exception: '"
-
-instance QC.Testable Expectation where
-  property = propertyIO
-  exhaustive _ = True
-
-propertyIO :: Expectation -> QC.Property
-propertyIO action = QCP.morallyDubiousIOProperty $ do
-  (action >> return succeeded) `E.catch` \(HUnitFailure err) -> return (failed err)
-  where
-    succeeded  = QC.property QCP.succeeded
-    failed err = QC.property QCP.failed {QCP.reason = err}
 
 -- | Specifies a pending example.
 --
