diff --git a/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_widget_library/WebSite_contributeContent.xml b/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_widget_library/WebSite_contributeContent.xml
index 7abb3d78666834444a33f64ce561b4b11eb9eccf..fcf5c76440b74e9a64e56d4734017b6f20422a31 100644
--- a/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_widget_library/WebSite_contributeContent.xml
+++ b/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_widget_library/WebSite_contributeContent.xml
@@ -72,16 +72,20 @@
   A method invoked with parameters provided by the \n
   contribute widget\n
 """\n
-res = context.portal_contributions.newContent(**kw)\n
-after_method_id = kw.get(\'after_method_id\')\n
-if after_method_id:\n
-  after_method = getattr(res, after_method_id)\n
-  after_method() # if not found will raise exception, as it should\n
+try:\n
+  res = context.portal_contributions.newContent(**kw)\n
+  after_method_id = kw.get(\'after_method_id\')\n
+  if after_method_id:\n
+    after_method = getattr(res, after_method_id)\n
+    after_method() # if not found will raise exception, as it should\n
+  msg = context.Base_translateString(\'Document successfully created\')\n
+  target = res\n
+except Exception, e:\n
+  msg = \'There was a problem: ${exception}\'\n
+  msg = context.Base_translateString(msg, mapping=dict(exception=str(e)))\n
+  target = context\n
 \n
-# XXX Translation and Base_redirect\n
-doc_url = res.absolute_url()+\'/view?portal_status_message=Document+created\'\n
-\n
-return context.REQUEST.RESPONSE.redirect(doc_url)\n
+return target.Base_redirect(\'view\', keep_items=dict(portal_status_message=msg))\n
 </string> </value>
         </item>
         <item>
@@ -133,7 +137,12 @@ return context.REQUEST.RESPONSE.redirect(doc_url)\n
                             <string>after_method_id</string>
                             <string>getattr</string>
                             <string>after_method</string>
-                            <string>doc_url</string>
+                            <string>msg</string>
+                            <string>target</string>
+                            <string>Exception</string>
+                            <string>e</string>
+                            <string>dict</string>
+                            <string>str</string>
                           </tuple>
                         </value>
                     </item>
diff --git a/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_widget_library/WebSite_viewContributeRenderer.xml b/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_widget_library/WebSite_viewContributeRenderer.xml
index 5e16720f28f2ad048b5b1602924826636d43cfcf..b93c298950f50732c92eafffa694db5886d63224 100644
--- a/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_widget_library/WebSite_viewContributeRenderer.xml
+++ b/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web_widget_library/WebSite_viewContributeRenderer.xml
@@ -86,7 +86,7 @@
       <input type="submit" name="Memo_makeOOoTemplate:method" value="Make Template" id="maketemplatebutton" disabled="disabled"\n
              style="width:100px;background-image:none;"/>\n
       &nbsp;\n
-      <input type="submit" name="WebSite_contributeFile:method" value="Contribute"/>\n
+      <input type="submit" name="WebSite_contributeContent:method" value="Contribute"/>\n
     </div>\n
       \n
       \n
diff --git a/bt5/erp5_web/bt/revision b/bt5/erp5_web/bt/revision
index 2b9f7e8533754506e32150af5378b8c45d401641..40ca05e7ba3a6947e1ead5d6607b994de5d8ffc2 100644
--- a/bt5/erp5_web/bt/revision
+++ b/bt5/erp5_web/bt/revision
@@ -1 +1 @@
-532
\ No newline at end of file
+534
\ No newline at end of file