diff --git a/product/ERP5Type/ERP5Type.py b/product/ERP5Type/ERP5Type.py
index 5b4a0adccce4a3c5825b4ae6babddbf917f5d351..c2d874fef5fea8e9ba44bc28d1620933df44b873 100644
--- a/product/ERP5Type/ERP5Type.py
+++ b/product/ERP5Type/ERP5Type.py
@@ -317,9 +317,13 @@ class ERP5TypeInformation(XMLObject,
       All ERP5Type.Document.newTempXXXX are constructTempInstance methods
       """
       # you should not pass temp_object to constructTempInstance
-      ob = self.constructInstance(container, id, temp_object=1, *args, **kw)
-      if container.isTempObject():
+      original_container = container.getOriginalDocument()
+      if original_container is None
+        ob = self.constructInstance(container, id, temp_object=1, *args, **kw)
         container._setObject(id, ob.aq_base)
+      else:
+        ob = self.constructInstance(original_container, id, temp_object=1,
+                                    *args, **kw)
       return ob