diff --git a/product/ERP5Type/CopySupport.py b/product/ERP5Type/CopySupport.py
index 1da631830fe875085273fb0f932bc81652e057ae..ee9876ca72910db537b715c1fa1c60e6f21fd4f9 100755
--- a/product/ERP5Type/CopySupport.py
+++ b/product/ERP5Type/CopySupport.py
@@ -188,19 +188,27 @@ class CopyContainer:
     self.notifyWorkflowCreated()
     
     # Add info about copy to edit workflow
-    pw = self.restrictedTraverse("portal_workflow")
-    copied_item_list = _cb_decode(get_request()['__cp'])[1]
-    # Guess source item
-    for c_item in copied_item_list:
-      if c_item[-1] in item.getId():
-        source_item = '/'.join(c_item)
-        break
+    REQUEST = get_request()
+    if REQUEST.get('__cp', None) :
+      pw = self.restrictedTraverse("portal_workflow")
+      copied_item_list = _cb_decode(REQUEST['__cp'])[1]
+      # Guess source item
+      for c_item in copied_item_list:
+        if c_item[-1] in item.getId():
+          source_item = '/'.join(c_item)
+          break
+      else :
+        source_item = '/'.join(copied_item_list[0])
+      try :
+        pw.doActionFor(self_base, 'copy', wf_id='edit_workflow', comment='Object copied from %s' % source_item)
+      except :
+        LOG('manage_afterPaste :', 0, '''Impossible to call transition 'copy' of 'edit_workflow' for %s''' % self.getRelativeUrl())
     else :
-      source_item = '/'.join(copied_item_list[0])
-    try :
-      pw.doActionFor(self_base, 'copy', wf_id='edit_workflow', comment='Object copied from %s' % source_item)
-    except :
-      LOG('manage_afterPaste :', 0, '''Impossible to call transition 'copy' of 'edit_workflow' for %s''' % self.getRelativeUrl())
+      try :
+        pw.doActionFor(self_base, 'copy', wf_id='edit_workflow', comment='Object copied as %s' % item.getId())
+      except :
+        LOG('manage_afterPaste :', 0, '''Impossible to call transition 'copy' of 'edit_workflow' for %s''' % self.getRelativeUrl())
+
 
     self.__recurse('manage_afterClone', item)
     # Reindex object