diff --git a/product/ERP5Type/tests/ERP5TypeFunctionalTestCase.py b/product/ERP5Type/tests/ERP5TypeFunctionalTestCase.py
index 4420a1a2d46bd700c688af9069e17b9528462c66..80e36c47ecd38c6f152e4ca99ba2790eedbd7fec 100755
--- a/product/ERP5Type/tests/ERP5TypeFunctionalTestCase.py
+++ b/product/ERP5Type/tests/ERP5TypeFunctionalTestCase.py
@@ -91,7 +91,7 @@ class Xvfb:
     result = check_process.communicate()[0]
     if result == 'Free':
       # Xvfb did not start properly so stop here
-      raise NotImplementedError, "Can not start Xvfb, stop test execution" 	
+      raise NotImplementedError, "Can not start Xvfb, stop test execution"
 
   def run(self):
     for display_try in self.display_list:
@@ -294,20 +294,12 @@ class FunctionalTestRunner:
       while self.getStatus() is None:
         time.sleep(10)
         if (time.time() - start) > float(self.timeout):
-          self.verboseErrorLog()
           raise TimeoutError("Test took more them %s seconds" % self.timeout)
 
     finally:
       self.browser.quit()
       xvfb.quit()
 
-  def verboseErrorLog(self, size=10):
-    for entry in self.portal.error_log.getLogEntries()[:size]:
-      print "="*20
-      print "ERROR ID : %s" % entry["id"]
-      print "TRACEBACK :"
-      print entry["tb_text"]
-
   def processResult(self):
     file_content = self.getStatus().encode("utf-8", "replace")
     sucess_amount = TEST_PASS_RE.search(file_content).group(1)
@@ -361,6 +353,13 @@ class ERP5TypeFunctionalTestCase(ERP5TypeTestCase):
     # XXX Memcached is missing
     # XXX Persistent cache setup is missing
 
+  def _verboseErrorLog(self, size=10):
+    for entry in self.portal.error_log.getLogEntries()[:size]:
+      print "="*20
+      print "ERROR ID : %s" % entry["id"]
+      print "TRACEBACK :"
+      print entry["tb_text"]
+
   def testFunctionalTestRunner(self):
     # first of all, abort to get rid of the mysql participation inn this
     # transaction
@@ -373,7 +372,12 @@ class ERP5TypeFunctionalTestCase(ERP5TypeTestCase):
 
     debug = self.foreground or os.environ.get("erp5_debug_mode")
     self.runner.test(debug=debug)
-    detail, success, failure, error_title_list = self.runner.processResult()
+    try:
+      detail, success, failure, error_title_list = self.runner.processResult()
+    except TimeoutError, e:
+      self._verboseErrorLog(20)
+      raise TimeoutError(e)
+
 
     self.logMessage("-" * 79)
     total = success + failure