diff --git a/product/ERP5OOo/OOoTemplate.py b/product/ERP5OOo/OOoTemplate.py
index d69d2ceca1c51f67ab4894b5009b791d57b6d3b2..e3c8160df2a817b7820e27c242e48331c4868305 100644
--- a/product/ERP5OOo/OOoTemplate.py
+++ b/product/ERP5OOo/OOoTemplate.py
@@ -443,6 +443,9 @@ class OOoTemplate(ZopePageTemplate):
     return (text, attached_files_dict)
   # Proxy method to PageTemplate
   def pt_render(self, source=0, extra_context={}):
+    if source:
+      return ZopePageTemplate.pt_render(self, source=source,
+                                         extra_context=extra_context)
     # Get request
     request = extra_context.get('REQUEST', self.REQUEST)
     # Get parent object (the one to render this template on)
diff --git a/product/ERP5OOo/tests/testOOoStyle.py b/product/ERP5OOo/tests/testOOoStyle.py
index ccdd3959513d2d122af6def5c1a7c6d9a7e308b3..16767757b119b7020def784a49d7b81c05d2f3fe 100644
--- a/product/ERP5OOo/tests/testOOoStyle.py
+++ b/product/ERP5OOo/tests/testOOoStyle.py
@@ -423,6 +423,36 @@ class TestOOoStyle(ERP5TypeTestCase, ZopeTestCase.Functional):
     # This untranslatable column have not been translated
     self.assertTrue(message not in message_catalog._translated)
 
+  def test_form_view_ZMI(self):
+    """We can edit form_view in the ZMI."""
+    response = self.publish('/%s/form_view/manage_main'
+       % self.portal.getId(), self.auth)
+    self.assertEqual(HTTP_OK, response.getStatus())
+    content_type = response.getHeader('content-type')
+    self.assertEquals('text/html;charset=UTF-8', content_type)
+    self.assertFalse(response.getHeader('content-disposition'))
+    # Simplistic assertion that we are viewing the ODF XML source
+    self.assertTrue('office:document-content' in response.getBody())
+
+  def test_form_list_ZMI(self):
+    """We can edit form_list in the ZMI."""
+    response = self.publish('/%s/form_list/manage_main'
+       % self.portal.getId(), self.auth)
+    self.assertEqual(HTTP_OK, response.getStatus())
+    content_type = response.getHeader('content-type')
+    self.assertEquals('text/html;charset=UTF-8', content_type)
+    self.assertFalse(response.getHeader('content-disposition'))
+    self.assertTrue('office:document-content' in response.getBody())
+
+  def test_report_view_ZMI(self):
+    """We can edit report_view in the ZMI."""
+    response = self.publish('/%s/report_view/manage_main'
+       % self.portal.getId(), self.auth)
+    self.assertEqual(HTTP_OK, response.getStatus())
+    content_type = response.getHeader('content-type')
+    self.assertEquals('text/html;charset=UTF-8', content_type)
+    self.assertFalse(response.getHeader('content-disposition'))
+    self.assertTrue('office:document-content' in response.getBody())
 
 class TestODTStyle(TestOOoStyle):
   skin = 'ODT'