diff --git a/hspec-golden-aeson.cabal b/hspec-golden-aeson.cabal
--- a/hspec-golden-aeson.cabal
+++ b/hspec-golden-aeson.cabal
@@ -1,5 +1,5 @@
 name:                hspec-golden-aeson
-version:             0.2.0.2
+version:             0.2.0.3
 synopsis:            Use tests to monitor changes in Aeson serialization
 description:         Use tests to monitor changes in Aeson serialization
 homepage:            https://github.com/plow-technologies/hspec-golden-aeson#readme
@@ -43,6 +43,7 @@
                        Test.Types
                        Test.Types.AlteredSelector
                        Test.Types.BrokenSerialization
+                       Test.Types.MismatchedToAndFromSerialization
                        Test.Types.NewSelector
                        Test.Utils
   build-depends:       base
diff --git a/test/Test/Types/MismatchedToAndFromSerialization.hs b/test/Test/Types/MismatchedToAndFromSerialization.hs
new file mode 100644
--- /dev/null
+++ b/test/Test/Types/MismatchedToAndFromSerialization.hs
@@ -0,0 +1,29 @@
+{-# LANGUAGE DeriveGeneric     #-}
+{-# LANGUAGE OverloadedStrings #-}
+module Test.Types.MismatchedToAndFromSerialization where
+
+import           Data.Aeson
+import           GHC.Generics
+import           Test.QuickCheck
+import           Test.QuickCheck.Arbitrary.ADT
+
+data Person = Person {
+  name :: String
+, age  :: Int
+} deriving (Eq,Show,Generic)
+
+-- ToJSON and FromJSON use different strings, this should break.
+instance ToJSON Person where
+  toJSON (Person name age) = object [
+       "personName" .= name
+    ,  "personAge"  .= age
+    ]
+
+instance FromJSON Person where
+  parseJSON = withObject "Expected a Person object" $ \o ->
+    Person <$> o .: "name"
+           <*> o .: "age"
+
+instance ToADTArbitrary Person
+instance Arbitrary Person where
+  arbitrary = genericArbitrary
