diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,10 @@
 See also http://pvp.haskell.org/faq
 
+0.6.2.0
+-------
+
+* Safely prepare for when cabal factors out Cabal-syntax
+
 0.6.1.0
 -------
 
diff --git a/hackage-security.cabal b/hackage-security.cabal
--- a/hackage-security.cabal
+++ b/hackage-security.cabal
@@ -1,6 +1,6 @@
 cabal-version:       1.12
 name:                hackage-security
-version:             0.6.1.0
+version:             0.6.2.0
 
 synopsis:            Hackage security library
 description:         The hackage security library provides both server and
@@ -48,6 +48,11 @@
   description: Are we using @network-uri@?
   manual: False
 
+flag Cabal-syntax
+  description: Are we using Cabal-syntax?
+  manual: False
+  default: False
+
 flag old-directory
   description: Use @directory@ < 1.2 and @old-time@
   manual:      False
@@ -114,9 +119,6 @@
                        base16-bytestring >= 0.1.1   && < 1.1,
                        base64-bytestring >= 1.0     && < 1.3,
                        bytestring        >= 0.9     && < 0.12,
-                       Cabal             >= 1.14    && < 1.26
-                                      || >= 2.0     && < 2.6
-                                      || >= 3.0     && < 3.8,
                        containers        >= 0.4     && < 0.7,
                        ed25519           >= 0.0     && < 0.1,
                        filepath          >= 1.2     && < 1.5,
@@ -149,6 +151,14 @@
   else
     build-depends:     base       >= 4.10
 
+  if flag(Cabal-syntax)
+    build-depends: Cabal-syntax >= 3.7 && < 3.9
+  else
+    build-depends: Cabal        >= 1.14    && < 1.26
+                             || >= 2.0     && < 2.6
+                             || >= 3.0     && < 3.7,
+                   Cabal-syntax <  3.7
+
   hs-source-dirs:      src
   default-language:    Haskell2010
   default-extensions:  DefaultSignatures
@@ -257,6 +267,9 @@
                        text,
                        time,
                        zlib
+
+  if flag(Cabal-syntax)
+    build-depends: Cabal-syntax
 
   -- dependencies exclusive to test-suite
   build-depends:       tasty            >= 1.2 && < 1.5,
