diff --git a/fclabels.cabal b/fclabels.cabal
--- a/fclabels.cabal
+++ b/fclabels.cabal
@@ -1,5 +1,5 @@
 Name:            fclabels
-Version:         0.11.1
+Version:         0.11.1.1
 Author:          Sebastiaan Visser, Erik Hesselink, Chris Eidhof, Sjoerd Visscher.
 Synopsis:        First class accessor labels implemented as lenses.
 
@@ -116,10 +116,8 @@
                  .
                  .
                  > CHANGELOG
-                 >   0.9.1 -> 0.11.0
-                 >   - Monadic labels now build against mtl.
-                 >   - Separate module for core/non-core code.
-                 >   - Code cleanups, especially the TH code.
+                 >   0.11.1 -> 0.11.1.1
+                 >   - Improved TH support for multiple constructor datatypes.
 
 Maintainer:      Sebastiaan Visser <haskell@fvisser.nl>
 License:         BSD3
diff --git a/src/Data/Record/Label/TH.hs b/src/Data/Record/Label/TH.hs
--- a/src/Data/Record/Label/TH.hs
+++ b/src/Data/Record/Label/TH.hs
@@ -5,6 +5,7 @@
 
 import Control.Monad
 import Data.Char
+import Data.List (nub)
 import Language.Haskell.TH.Syntax
 
 -- | Derive lenses including type signatures for all the record selectors in a
@@ -35,7 +36,7 @@
         -- We are only interested in lenses of record constructors.
         ls' = [ l | RecC _ ls <- cs', l <- ls ]
 
-    return (concatMap (label sigs n vars) ls')
+    return (concatMap (label sigs n vars) (nub ls'))
 
 -- Helpers to generate a single labels.
 
