diff --git a/QuickCheck.cabal b/QuickCheck.cabal
--- a/QuickCheck.cabal
+++ b/QuickCheck.cabal
@@ -1,5 +1,5 @@
 Name: QuickCheck
-Version: 2.12
+Version: 2.12.1
 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
+  tag:      2.12.1
 
 flag templateHaskell
   Description: Build Test.QuickCheck.All, which uses Template Haskell.
diff --git a/Test/QuickCheck/Test.hs b/Test/QuickCheck/Test.hs
--- a/Test/QuickCheck/Test.hs
+++ b/Test/QuickCheck/Test.hs
@@ -322,11 +322,10 @@
      let continue break st' | abort res = break st'
                             | otherwise = test st'
 
-     let inc x = Map.insertWith (+) x 1
      let st' = st{ coverageConfidence = maybeCheckCoverage res `mplus` coverageConfidence st
                  , maxSuccessTests = fromMaybe (maxSuccessTests st) (maybeNumTests res)
-                 , S.labels = inc (P.labels res) (S.labels st)
-                 , S.classes = foldr inc (S.classes st) (P.classes res)
+                 , S.labels = Map.insertWith (+) (P.labels res) 1 (S.labels st)
+                 , S.classes = Map.unionWith (+) (S.classes st) (Map.fromList (zip (P.classes res) (repeat 1)))
                  , S.tables =
                    foldr (\(tab, x) -> Map.insertWith (Map.unionWith (+)) tab (Map.singleton x 1))
                      (S.tables st) (P.tables res)
diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,3 +1,6 @@
+QuickCheck 2.12.1 (release 2018-09-06)
+	* Fix bug in 'classify'.
+
 QuickCheck 2.12 (release 2018-09-03)
 	* Silently breaking changes!
 		- The Arbitrary instance for Word now generates only small
