diff --git a/addons/website/views/website_templates.xml b/addons/website/views/website_templates.xml
index dab436390a0b779097b6931fa5aa94165ae267e2..36104f446e2132cd5ec00ddb7dda7be032200280 100644
--- a/addons/website/views/website_templates.xml
+++ b/addons/website/views/website_templates.xml
@@ -507,7 +507,7 @@
                         <t t-if="'expression' in qweb_exception.qweb">and evaluating the following expression: <code t-esc="qweb_exception.qweb['expression']"/></t>
                     </p>
                     <t t-if="'node' in qweb_exception.qweb">
-                        <pre id="exception_node" t-esc="qweb_exception.qweb['node'].toxml()"/>
+                        <pre id="exception_node" t-esc="qweb_exception.pretty_xml()"/>
                     </t>
                 </div>
             </div>
diff --git a/openerp/addons/base/ir/ir_qweb.py b/openerp/addons/base/ir/ir_qweb.py
index 30763a655dfb9a24076c169b9191499eff92bb30..918f54f8bc5a79e55a19e4270ec01716ff38944e 100644
--- a/openerp/addons/base/ir/ir_qweb.py
+++ b/openerp/addons/base/ir/ir_qweb.py
@@ -40,6 +40,10 @@ class QWebException(Exception):
     def __init__(self, message, **kw):
         Exception.__init__(self, message)
         self.qweb = dict(kw)
+    def pretty_xml(self):
+        if 'node' not in self.qweb:
+            return ''
+        return etree.tostring(self.qweb['node'], pretty_print=True)
 
 class QWebTemplateNotFound(QWebException):
     pass