diff --git a/CHANGES.txt b/CHANGES.txt
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,5 +1,7 @@
 Changelog for Derive
 
+2.5.26
+    #17, fix incomplete pattern matches for certain types of data
 2.5.25
     #14, further GHC 8.0.1 updates
 2.5.24
diff --git a/derive.cabal b/derive.cabal
--- a/derive.cabal
+++ b/derive.cabal
@@ -1,7 +1,7 @@
 cabal-version:  >= 1.8
 build-type:     Default
 name:           derive
-version:        2.5.25
+version:        2.5.26
 build-type:     Simple
 copyright:      Neil Mitchell 2006-2016
 author:         Neil Mitchell <ndmitchell@gmail.com>
diff --git a/src/Language/Haskell/Convert.hs b/src/Language/Haskell/Convert.hs
--- a/src/Language/Haskell/Convert.hs
+++ b/src/Language/Haskell/Convert.hs
@@ -74,9 +74,9 @@
 instance Convert TH.StrictType HS.Type where
 #if __GLASGOW_HASKELL__ >= 800
     conv (Bang SourceUnpack SourceStrict, x) = TyBang UnpackedTy $ TyBang BangedTy $ c x
-    conv (Bang SourceUnpack NoSourceStrictness, x) = TyBang UnpackedTy $ c x
-    conv (Bang NoSourceUnpackedness SourceStrict, x) = TyBang BangedTy $ c x
-    conv (Bang NoSourceUnpackedness NoSourceStrictness, x) = c x
+    conv (Bang SourceUnpack _, x) = TyBang UnpackedTy $ c x
+    conv (Bang _ SourceStrict, x) = TyBang BangedTy $ c x
+    conv (Bang _ _, x) = c x
 #else
     conv (IsStrict, x) = TyBang BangedTy $ c x
     conv (NotStrict, x) = c x
