diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_editRelation.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_editRelation.xml
index 2691fce0f70d63fe69cd023ada5fea2689671e46..d6e1e2054bf5894475680b284e3186f4e2ef195e 100644
--- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_editRelation.xml
+++ b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_editRelation.xml
@@ -90,9 +90,10 @@ for k in request_form.keys():\n
   del request_form[k]\n
 \n
 request.form.update(old_request)\n
-return context.Base_edit(form_id,\n
-                         selection_index=old_request.get(\'selection_index\', 0),\n
-                         selection_name=old_request.get(\'selection_name\', \'\'))\n
+edit_method = getattr(context, request_form.get(\'form_action\', \'Base_edit\'))\n
+return edit_method(form_id,\n
+                   selection_index=old_request.get(\'selection_index\', 0),\n
+                   selection_name=old_request.get(\'selection_name\', \'\'))\n
 
 
 ]]></string> </value>
@@ -165,6 +166,7 @@ return context.Base_edit(form_id,\n
                             <string>request_form</string>
                             <string>_getiter_</string>
                             <string>k</string>
+                            <string>edit_method</string>
                           </tuple>
                         </value>
                     </item>
diff --git a/product/ERP5/bootstrap/erp5_core/bt/revision b/product/ERP5/bootstrap/erp5_core/bt/revision
index 913cc6ab4d21f64ee52e62473599504b4d251cbe..805f57488ad3e4912ceb6996be3f3a39ca16c713 100644
--- a/product/ERP5/bootstrap/erp5_core/bt/revision
+++ b/product/ERP5/bootstrap/erp5_core/bt/revision
@@ -1 +1 @@
-1166
\ No newline at end of file
+1167
\ No newline at end of file