diff --git a/mercurial/extensions.py b/mercurial/extensions.py
index 3ff4b07412ad709d57e304c139d05469fede8fce_bWVyY3VyaWFsL2V4dGVuc2lvbnMucHk=..de23a552fc23e241b4c510200bc913012c123708_bWVyY3VyaWFsL2V4dGVuc2lvbnMucHk= 100644
--- a/mercurial/extensions.py
+++ b/mercurial/extensions.py
@@ -85,6 +85,8 @@
         except ImportError, err:
             ui.debug('could not import hgext.%s (%s): trying %s\n'
                      % (name, err, name))
+            if ui.debugflag:
+                ui.traceback()
             mod = importh(name)
     _extensions[shortname] = mod
     _order.append(shortname)
@@ -110,6 +112,7 @@
             else:
                 ui.warn(_("*** failed to import extension %s: %s\n")
                         % (name, inst))
+            ui.traceback()
 
     for name in _order[newindex:]:
         uisetup = getattr(_extensions[name], 'uisetup', None)
diff --git a/tests/test-bad-extension.t b/tests/test-bad-extension.t
index 3ff4b07412ad709d57e304c139d05469fede8fce_dGVzdHMvdGVzdC1iYWQtZXh0ZW5zaW9uLnQ=..de23a552fc23e241b4c510200bc913012c123708_dGVzdHMvdGVzdC1iYWQtZXh0ZW5zaW9uLnQ= 100644
--- a/tests/test-bad-extension.t
+++ b/tests/test-bad-extension.t
@@ -15,3 +15,32 @@
   hg help [-ec] [TOPIC]
   
   show help for a given topic or a help overview
+
+show traceback
+
+  $ hg -q help help --traceback 2>&1 | grep -v '^  '
+  *** failed to import extension badext from $TESTTMP/badext.py: bit bucket overflow
+  Traceback (most recent call last):
+  Exception: bit bucket overflow
+  *** failed to import extension badext2: No module named badext2
+  Traceback (most recent call last):
+  ImportError: No module named badext2
+  hg help [-ec] [TOPIC]
+  
+  show help for a given topic or a help overview
+
+show traceback for ImportError of hgext.name if debug is set
+(note that --debug option isn't applied yet when loading extensions)
+
+  $ hg help help --traceback --config ui.debug=True 2>&1 \
+  > | grep -v '^  ' | head -n10
+  *** failed to import extension badext from $TESTTMP/badext.py: bit bucket overflow
+  Traceback (most recent call last):
+  Exception: bit bucket overflow
+  could not import hgext.badext2 (No module named badext2): trying badext2
+  Traceback (most recent call last):
+  ImportError: No module named badext2
+  *** failed to import extension badext2: No module named badext2
+  Traceback (most recent call last):
+  ImportError: No module named badext2
+  hg help [-ec] [TOPIC]