diff --git a/product/ERP5Type/ZopePatch.py b/product/ERP5Type/ZopePatch.py
index 7d27c4b27e33f65be7777adb30b9fbd6d8aa4c45..7920c7ed937c009c12888c86e193910ff437c529 100755
--- a/product/ERP5Type/ZopePatch.py
+++ b/product/ERP5Type/ZopePatch.py
@@ -624,7 +624,7 @@ class ERP5DCWorkflowDefinition (DCWorkflowDefinition):
             LOG('_executeTransition', 0, 'new_sdef.transitions = %s' % (repr(new_sdef.transitions)))
             if tdef.after_script_name in filter(lambda k: self.transitions[k].trigger_type == TRIGGER_WORKFLOW_METHOD,
                                                                                      new_sdef.transitions):
-              script = getattr(ob, tdef.after_script_name)
+              script = getattr(ob, convertToMixedCase(tdef.after_script_name))
               script()
             else:
               script = self.scripts[tdef.after_script_name]
@@ -648,13 +648,12 @@ DCWorkflowDefinition._executeTransition = ERP5DCWorkflowDefinition._executeTrans
 # as well as workflow inheritance. This way, different user actions and dialogs can be specified easliy
 # For now, we split UI transitions and logics transitions so that UI can be different and logics the same
 from Products.DCWorkflow.Transitions import TransitionDefinition
-from Products.ERP5Type.Utils import convertToMixedCase
 
 class ERP5TransitionDefinition (TransitionDefinition):
 
     def getAvailableScriptIds(self):
-        return self.getWorkflow().scripts.keys() +  map(lambda tid: convertToMixedCase(tid), filter(
-          lambda k: self.getWorkflow().transitions[k].trigger_type == TRIGGER_WORKFLOW_METHOD, self.getWorkflow().transitions.keys()))
+        return self.getWorkflow().scripts.keys() +  filter(
+          lambda k: self.getWorkflow().transitions[k].trigger_type == TRIGGER_WORKFLOW_METHOD, self.getWorkflow().transitions.keys())
 
 TransitionDefinition.getAvailableScriptIds = ERP5TransitionDefinition.getAvailableScriptIds