diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,11 @@
 Changes
 =======
 
+Version 1.1.7
+-------------
+
+* Fix overlapping instances of `GSerial`.
+
 Version 1.1.6
 -------------
 
diff --git a/Test/SmallCheck/Series.hs b/Test/SmallCheck/Series.hs
--- a/Test/SmallCheck/Series.hs
+++ b/Test/SmallCheck/Series.hs
@@ -29,10 +29,16 @@
 {-# LANGUAGE FlexibleInstances     #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
 {-# LANGUAGE RankNTypes            #-}
-{-# LANGUAGE Safe                  #-}
 {-# LANGUAGE ScopedTypeVariables   #-}
 {-# LANGUAGE TypeOperators         #-}
 
+#if MIN_VERSION_base(4,8,0)
+{-# LANGUAGE Safe                  #-}
+#else
+{-# LANGUAGE OverlappingInstances  #-}
+{-# LANGUAGE Trustworthy           #-}
+#endif
+
 module Test.SmallCheck.Series (
   -- {{{
   -- * Generic instances
@@ -438,7 +444,7 @@
 class GCoSerial m f where
   gCoseries :: Series m b -> Series m (f a -> b)
 
-instance GSerial m f => GSerial m (M1 i c f) where
+instance {-# OVERLAPPABLE #-} GSerial m f => GSerial m (M1 i c f) where
   gSeries = M1 <$> gSeries
   {-# INLINE gSeries #-}
 instance GCoSerial m f => GCoSerial m (M1 i c f) where
@@ -481,7 +487,7 @@
       R1 y -> g y
   {-# INLINE gCoseries #-}
 
-instance GSerial m f => GSerial m (C1 c f) where
+instance {-# OVERLAPPING #-} GSerial m f => GSerial m (C1 c f) where
   gSeries = M1 <$> decDepth gSeries
   {-# INLINE gSeries #-}
 -- }}}
diff --git a/smallcheck.cabal b/smallcheck.cabal
--- a/smallcheck.cabal
+++ b/smallcheck.cabal
@@ -1,5 +1,5 @@
 name:               smallcheck
-version:            1.1.6
+version:            1.1.7
 license:            BSD3
 license-file:       LICENSE
 maintainer:         Andrew Lelechenko <andrew.lelechenko@gmail.com>
@@ -45,8 +45,10 @@
     base >=4.5 && <5,
     mtl,
     logict,
-    ghc-prim >=0.2,
     pretty
 
   if impl(ghc <7.10)
     build-depends: nats
+
+  if impl(ghc <7.6)
+    build-depends: ghc-prim >=0.2
