diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_access_tab/erp5_tabber.js.xml b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_access_tab/erp5_tabber.js.xml
index 7e14ef6d1f29bf7c7c7f86e2194c3adff6f736ef..02c06b161c953eb3826cb9dd9eeb5749b0ea8691 100644
--- a/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_access_tab/erp5_tabber.js.xml
+++ b/product/ERP5/bootstrap/erp5_xhtml_style/SkinTemplateItem/portal_skins/erp5_access_tab/erp5_tabber.js.xml
@@ -57,6 +57,18 @@ function replaceContent(req) {\n
   addOnClickEventsToTabs(req);\n
 }\n
 \n
+function showServerSideError(req) {\n
+  if (loading_deferred) {\n
+    loading_deferred.cancel();\n
+    loading_deferred = undefined;\n
+  }\n
+\n
+  var container = $(\'container\');\n
+  container.innerHTML = \'Server side error.\';\n
+\n
+  addOnClickEventsToTabs(req);\n
+}\n
+\n
 function showLoadingMessage() {\n
   var container = $(\'container\');\n
   container.innerHTML = \'<div><p style="text-align: left; vertical-align: middle; font-size: large;">Loading...</p></div>\';\n
@@ -90,7 +102,7 @@ function selectTab(e) {\n
 \n
   var url = mapping[this.parentNode.id];\n
   var d = doSimpleXMLHttpRequest(url);\n
-  d.addBoth(replaceContent)\n
+  d.addCallbacks(replaceContent, showServerSideError);\n
   e.stop();\n
 \n
   loading_deferred = callLater(0.3, showLoadingMessage);\n
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision b/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
index 2ddfe0b71fc9f28f045b747405e236aebe6c1c57..d07ddee6f75009c11b85aa56af44fcc83d85c96f 100644
--- a/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
+++ b/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
@@ -1 +1 @@
-897
\ No newline at end of file
+898
\ No newline at end of file