diff --git a/QuickCheck.cabal b/QuickCheck.cabal
--- a/QuickCheck.cabal
+++ b/QuickCheck.cabal
@@ -1,5 +1,5 @@
 Name: QuickCheck
-Version: 2.12.3
+Version: 2.12.4
 Cabal-Version: >= 1.8
 Build-type: Simple
 License: BSD3
@@ -55,7 +55,7 @@
 source-repository this
   type:     git
   location: https://github.com/nick8325/quickcheck
-  tag:      2.12.3
+  tag:      2.12.4
 
 flag templateHaskell
   Description: Build Test.QuickCheck.All, which uses Template Haskell.
diff --git a/Test/QuickCheck/Arbitrary.hs b/Test/QuickCheck/Arbitrary.hs
--- a/Test/QuickCheck/Arbitrary.hs
+++ b/Test/QuickCheck/Arbitrary.hs
@@ -1132,7 +1132,7 @@
     -- where the inner calls to shrink use integer shrinking.
     [ y
     | precision <- take 6 (iterate (*10) 1),
-      let m = truncate (toRational x * precision),
+      let m = round (toRational x * precision),
       m `mod` 10 /= 0, -- don't allow shrinking to increase digits
       n <- m:shrink m,
       let y = fromRational (fromInteger n / precision),
diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,4 +1,4 @@
-QuickCheck 2.12.3 (released 2018-09-12)
+QuickCheck 2.12.3, 2.12.4 (released 2018-09-12)
 	* Shrinking for Float and Decimal now works by reducing the number
 	  of digits in the number. The new function shrinkDecimal
 	  implements this shrinking behaviour.
