diff --git a/mercurial/configitems.py b/mercurial/configitems.py
--- a/mercurial/configitems.py
+++ b/mercurial/configitems.py
@@ -591,6 +591,9 @@ coreconfigitem('progress', 'disable',
 coreconfigitem('progress', 'estimateinterval',
     default=60.0,
 )
+coreconfigitem('progress', 'format',
+    default=lambda: ['topic', 'bar', 'number', 'estimate'],
+)
 coreconfigitem('progress', 'refresh',
     default=0.1,
 )
diff --git a/mercurial/progress.py b/mercurial/progress.py
--- a/mercurial/progress.py
+++ b/mercurial/progress.py
@@ -101,9 +101,7 @@ class progbar(object):
         self.changedelay = max(3 * self.refresh,
                                float(self.ui.config(
                                    'progress', 'changedelay')))
-        self.order = self.ui.configlist(
-            'progress', 'format',
-            default=['topic', 'bar', 'number', 'estimate'])
+        self.order = self.ui.configlist('progress', 'format')
         self.estimateinterval = self.ui.configwith(
             float, 'progress', 'estimateinterval')