diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+version 0.2.3:
+  - Replaced the flag on the cabal package by an explicit test on the ghc
+    version. This makes it easier to build on ghc-6.12.
+
+version 0.2.2:
+  - Update to build with ghc-6.12: require template-haskell-2.4.*, adapt
+    Generics.Regular.TH accordingly and use CPP to maintain compatibility with
+    ghc-6.10
+
 version 0.2.1:
   - Do not export generic equality by default to avoid clashes with Prelude
   - Turn I and K into newtypes
diff --git a/regular.cabal b/regular.cabal
--- a/regular.cabal
+++ b/regular.cabal
@@ -1,5 +1,5 @@
 name:                   regular
-version:                0.2.2
+version:                0.2.3
 synopsis:               Generic programming library for regular datatypes.
 description:
 
@@ -34,9 +34,6 @@
                         ChangeLog
                         CREDITS
 
-flag th24
-  description:          Indicates that Template Haskell 2.4 or greater is available.
-
 library
   hs-source-dirs:       src
   exposed-modules:      Generics.Regular
@@ -58,7 +55,7 @@
                         Generics.Regular.Functions.Zip
                         
   build-depends:        base >= 4.0 && < 5
-  if flag(th24)
+  if impl(ghc >= 6.12)
     build-depends:      template-haskell >=2.4 && <2.5
     cpp-options:          -DTH_TYVARBNDR
   else
