diff --git a/product/ERP5Type/Base.py b/product/ERP5Type/Base.py
index f07db115b3d25fadd89cae2aa1f3edbdff510aa4..3cdbe8ed94ef840fc8a5322f1af4b9c7b223be4f 100644
--- a/product/ERP5Type/Base.py
+++ b/product/ERP5Type/Base.py
@@ -2121,7 +2121,12 @@ class Base( CopyContainer,
       context.__dict__.update(self.__dict__)
       # Copy REQUEST properties to self
       if REQUEST is not None:
-        context.__dict__.update(REQUEST)
+        # Avoid copying a SESSION object, because it is newly created
+        # implicitly when not present, thus it may induce conflict errors.
+        # As ERP5 does not use Zope sessions, it is better to skip SESSION.
+        for k in REQUEST.keys():
+          if k != 'SESSION':
+            context[k] = REQUEST[k]
       # Define local properties
       if kw is not None: context.__dict__.update(kw)
       # Make it a temp content