diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+# 1.1.1.1
+
+- Workaround GCC-4 C-preprocessor bug
+
 # 1.1.1
 
 - These doesn't depend on `base-compat` anymore
diff --git a/src/Data/Functor/These.hs b/src/Data/Functor/These.hs
--- a/src/Data/Functor/These.hs
+++ b/src/Data/Functor/These.hs
@@ -9,12 +9,14 @@
 
 #if MIN_VERSION_base(4,9,0)
 #define LIFTED_FUNCTOR_CLASSES 1
-
-#elif MIN_VERSION_transformers(0,5,0)
+#else
+#if MIN_VERSION_transformers (0,5,0)
 #define LIFTED_FUNCTOR_CLASSES 1
-
-#elif MIN_VERSION_transformers_compat(0,5,0) && !MIN_VERSION_transformers(0,4,0)
+#else
+#if MIN_VERSION_transformers_compat(0,5,0) && !MIN_VERSION_transformers(0,4,0)
 #define LIFTED_FUNCTOR_CLASSES 1
+#endif
+#endif
 #endif
 module Data.Functor.These (
     These1 (..),
diff --git a/src/Data/These.hs b/src/Data/These.hs
--- a/src/Data/These.hs
+++ b/src/Data/These.hs
@@ -7,13 +7,16 @@
 
 #if MIN_VERSION_base(4,9,0)
 #define LIFTED_FUNCTOR_CLASSES 1
-
-#elif MIN_VERSION_transformers(0,5,0)
+#else
+#if MIN_VERSION_transformers(0,5,0)
 #define LIFTED_FUNCTOR_CLASSES 1
-
-#elif MIN_VERSION_transformers_compat(0,5,0) && !MIN_VERSION_transformers(0,4,0)
+#else
+#if MIN_VERSION_transformers_compat(0,5,0) && !MIN_VERSION_transformers(0,4,0)
 #define LIFTED_FUNCTOR_CLASSES 1
 #endif
+#endif
+#endif
+
 module Data.These (
       These(..)
 
diff --git a/these.cabal b/these.cabal
--- a/these.cabal
+++ b/these.cabal
@@ -1,6 +1,6 @@
 cabal-version:      >=1.10
 name:               these
-version:            1.1.1
+version:            1.1.1.1
 synopsis:           An either-or-both data type.
 homepage:           https://github.com/isomorphism/these
 license:            BSD3
