diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -91,6 +91,9 @@
   installOrdinaryFile,
   notice,
   )
+#if MIN_VERSION_Cabal(2,2,0)
+import Distribution.Types.GenericPackageDescription (lookupFlagAssignment)
+#endif
 import Distribution.Verbosity (Verbosity, normal)
 import System.Directory (
   createDirectoryIfMissing,
@@ -311,8 +314,13 @@
     _ -> do
       -- Inspect the 'qt4' and 'qt5' package flags.
       let flags = configConfigurationsFlags configFlags
-          qt4Flag = fromMaybe False $ lookup (mkFlagName "qt4") flags
-          qt5Flag = fromMaybe False $ lookup (mkFlagName "qt5") flags
+#if MIN_VERSION_Cabal(2,2,0)
+          lookupFlag = lookupFlagAssignment
+#else
+          lookupFlag = lookup
+#endif
+          qt4Flag = fromMaybe False $ lookupFlag (mkFlagName "qt4") flags
+          qt5Flag = fromMaybe False $ lookupFlag (mkFlagName "qt5") flags
           qtFlag = if qt4Flag then Just 4 else if qt5Flag then Just 5 else Nothing
       when (qt4Flag && qt5Flag) $
         dieFn $ concat
diff --git a/qtah-cpp-qt5.cabal b/qtah-cpp-qt5.cabal
--- a/qtah-cpp-qt5.cabal
+++ b/qtah-cpp-qt5.cabal
@@ -1,5 +1,5 @@
 name: qtah-cpp-qt5
-version: 0.5.0
+version: 0.5.1
 synopsis: Qt bindings for Haskell - C++ library
 homepage: http://khumba.net/projects/qtah
 license: LGPL-3
@@ -10,7 +10,7 @@
 category: Graphics
 build-type: Custom
 -- Cabal 1.20 is needed for BuildFlags.buildNumJobs.
-cabal-version: >=1.20
+cabal-version: 1.20
 description:
   Qtah is a set of Qt bindings for Haskell.  This package contains the C++ side
   of the bindings.
