diff --git a/product/ERP5Type/patches/DCWorkflow.py b/product/ERP5Type/patches/DCWorkflow.py
index d556712a8ed933cce79232aa92e23b85d31f1e3f..4e314aa6ebd1bad2b7d882ab345480f1167d31a2 100644
--- a/product/ERP5Type/patches/DCWorkflow.py
+++ b/product/ERP5Type/patches/DCWorkflow.py
@@ -34,6 +34,7 @@ from string import join
 import sys
 from zLOG import LOG
 from Acquisition import aq_base
+from copy import deepcopy
 
 # Patch WorkflowUIMixin to add description on workflows
 from Products.DCWorkflow.WorkflowUIMixin import WorkflowUIMixin as WorkflowUIMixin_class
@@ -330,7 +331,7 @@ def DCWorkflowDefinition_executeTransition(self, ob, tdef=None, kwargs=None):
             script(sci)  # May throw an exception.
         except ValidationFailed, validation_exc:
             before_script_success = 0
-            before_script_error_message = validation_exc.msg
+            before_script_error_message = deepcopy(validation_exc.msg)
             validation_exc_traceback = sys.exc_traceback
         except ObjectMoved, moved_exc:
             ob = moved_exc.getNewObject()