diff --git a/mercurial/debugcommands.py b/mercurial/debugcommands.py
index c7d49b87c1ee06b14d72de0ff58018bb10b49220_bWVyY3VyaWFsL2RlYnVnY29tbWFuZHMucHk=..c0b6fa74e007db1ee089b2e638195ecd9c87d0dd_bWVyY3VyaWFsL2RlYnVnY29tbWFuZHMucHk= 100644
--- a/mercurial/debugcommands.py
+++ b/mercurial/debugcommands.py
@@ -888,5 +888,4 @@
     if ui.verbose:
         fm.plain(' config default')
     fm.plain('\n')
-    fm.startitem()
     for fv in upgrade.allformatvariant:
@@ -892,4 +891,5 @@
     for fv in upgrade.allformatvariant:
+        fm.startitem()
         repovalue = fv.fromrepo(repo)
         configvalue = fv.fromconfig(repo)
 
@@ -916,6 +916,7 @@
         fm.condwrite(ui.verbose, 'default', ' %7s', formatvalue(fv.default),
                      label='formatvariant.default')
         fm.plain('\n')
+    fm.end()
 
 @command('debugfsinfo', [], _('[PATH]'), norepo=True)
 def debugfsinfo(ui, path="."):
diff --git a/tests/test-upgrade-repo.t b/tests/test-upgrade-repo.t
index c7d49b87c1ee06b14d72de0ff58018bb10b49220_dGVzdHMvdGVzdC11cGdyYWRlLXJlcG8udA==..c0b6fa74e007db1ee089b2e638195ecd9c87d0dd_dGVzdHMvdGVzdC11cGdyYWRlLXJlcG8udA== 100644
--- a/tests/test-upgrade-repo.t
+++ b/tests/test-upgrade-repo.t
@@ -82,6 +82,39 @@
   [formatvariant.name.uptodate|generaldelta:  ][formatvariant.repo.uptodate| yes][formatvariant.config.default|    yes][formatvariant.default|     yes]
   [formatvariant.name.uptodate|plain-cl-delta:][formatvariant.repo.uptodate| yes][formatvariant.config.default|    yes][formatvariant.default|     yes]
   [formatvariant.name.uptodate|compression:   ][formatvariant.repo.uptodate| zlib][formatvariant.config.default|   zlib][formatvariant.default|    zlib]
+  $ hg debugformat -Tjson
+  [
+   {
+    "config": "yes",
+    "default": "yes",
+    "name": "fncache",
+    "repo": "yes"
+   },
+   {
+    "config": "yes",
+    "default": "yes",
+    "name": "dotencode",
+    "repo": "yes"
+   },
+   {
+    "config": "yes",
+    "default": "yes",
+    "name": "generaldelta",
+    "repo": "yes"
+   },
+   {
+    "config": "yes",
+    "default": "yes",
+    "name": "plain-cl-delta",
+    "repo": "yes"
+   },
+   {
+    "config": "zlib",
+    "default": "zlib",
+    "name": "compression",
+    "repo": "zlib"
+   }
+  ]
   $ hg debugupgraderepo
   (no feature deficiencies found in existing repository)
   performing an upgrade with "--run" will make the following changes: