diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
index 4039cad0d8ff512bfc76497856159a2137bc43c3_bWVyY3VyaWFsL2xvY2FscmVwby5weQ==..5eb5b866e517c25f91a873885742cf4e2cde28eb_bWVyY3VyaWFsL2xvY2FscmVwby5weQ== 100644
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -3531,8 +3531,6 @@
     revlogv2 = ui.config(b'experimental', b'revlogv2')
     if revlogv2 == b'enable-unstable-format-and-corrupt-my-data':
         requirements.discard(requirementsmod.REVLOGV1_REQUIREMENT)
-        # generaldelta is implied by revlogv2.
-        requirements.discard(requirementsmod.GENERALDELTA_REQUIREMENT)
         requirements.add(requirementsmod.REVLOGV2_REQUIREMENT)
     # experimental config: format.internal-phase
     if ui.configbool(b'format', b'internal-phase'):
diff --git a/tests/test-revlog-v2.t b/tests/test-revlog-v2.t
index 4039cad0d8ff512bfc76497856159a2137bc43c3_dGVzdHMvdGVzdC1yZXZsb2ctdjIudA==..5eb5b866e517c25f91a873885742cf4e2cde28eb_dGVzdHMvdGVzdC1yZXZsb2ctdjIudA== 100644
--- a/tests/test-revlog-v2.t
+++ b/tests/test-revlog-v2.t
@@ -24,6 +24,7 @@
   dotencode
   exp-revlogv2.2
   fncache
+  generaldelta
   persistent-nodemap (rust !)
   revlog-compression-zstd (zstd !)
   sparserevlog