diff --git a/Test/Framework/Providers/QuickCheck2.hs b/Test/Framework/Providers/QuickCheck2.hs
--- a/Test/Framework/Providers/QuickCheck2.hs
+++ b/Test/Framework/Providers/QuickCheck2.hs
@@ -11,6 +11,10 @@
 import Test.QuickCheck.Property (Testable, Callback(PostTest), CallbackKind(NotCounterexample), callback)
 import Test.QuickCheck.State (numSuccessTests)
 import Test.QuickCheck.Test
+#if MIN_VERSION_QuickCheck(2,7,0)
+import Test.QuickCheck.Random (QCGen, mkQCGen)
+#endif
+import System.Random
 
 import Data.Typeable
 
@@ -65,15 +69,30 @@
     runTest topts (Property testable) = runProperty topts testable
     testTypeName _ = "Properties"
 
+#if MIN_VERSION_QuickCheck(2,7,0)
+
+newSeededQCGen :: Seed -> IO (QCGen, Int)
+newSeededQCGen (FixedSeed seed) = return $ (mkQCGen seed, seed)
+newSeededQCGen RandomSeed = do
+  seed <- randomIO
+  return (mkQCGen seed, seed)
+
+#else
+
+newSeededQCGen :: Seed -> IO (StdGen, Int)
+newSeededQCGen = newSeededStdGen
+
+#endif
+
 runProperty :: Testable a => CompleteTestOptions -> a -> IO (PropertyTestCount :~> PropertyResult, IO ())
 runProperty topts testable = do
-    (gen, seed) <- newSeededStdGen (unK $ topt_seed topts)
+    (gen, seed) <- newSeededQCGen (unK $ topt_seed topts)
     let max_success = unK $ topt_maximum_generated_tests topts
         max_discard = unK $ topt_maximum_unsuitable_generated_tests topts
         args = stdArgs { replay = Just (gen, 0) -- NB: the 0 is the saved size. Defaults to 0 if you supply "Nothing" for "replay".
                        , maxSuccess = max_success
 #if MIN_VERSION_QuickCheck(2,5,0)
-                       , maxDiscardRatio = (max_discard `div` max_success) + 1
+                       , maxDiscardRatio = max_discard `div` max_success
 #else
                        , maxDiscard = max_discard
 #endif
diff --git a/test-framework-quickcheck2.cabal b/test-framework-quickcheck2.cabal
--- a/test-framework-quickcheck2.cabal
+++ b/test-framework-quickcheck2.cabal
@@ -1,5 +1,5 @@
 Name:                test-framework-quickcheck2
-Version:             0.3.0.2
+Version:             0.3.0.3
 Cabal-Version:       >= 1.6
 Category:            Testing
 Synopsis:            QuickCheck2 support for the test-framework package.
@@ -24,7 +24,9 @@
 Library
         Exposed-Modules:        Test.Framework.Providers.QuickCheck2
 
-        Build-Depends:          test-framework >= 0.7.1, QuickCheck >= 2.4 && < 2.7, extensible-exceptions >= 0.1.1 && < 0.2.0
+        Build-Depends:          test-framework >= 0.7.1,
+                                QuickCheck >= 2.4 && < 2.8,
+                                extensible-exceptions >= 0.1.1 && < 0.2.0
         if flag(base3)
                 Build-Depends:          base >= 3 && < 4, random >= 1
         else
