diff --git a/product/ERP5Type/XMLMatrix.py b/product/ERP5Type/XMLMatrix.py
index dd1626c213fd4b07a2b285a73e7396e667bdec80..b2dffe77c2dc9396a2cedb3c5e2a0ff48541445f 100644
--- a/product/ERP5Type/XMLMatrix.py
+++ b/product/ERP5Type/XMLMatrix.py
@@ -430,10 +430,10 @@ class XMLMatrix(Folder):
           cell = self.get(old_id)
           if cell is not None:
             new_id = old_id + appended_id
+            self._delObject(old_id)
             cell.isIndexable = 0
             cell.id = new_id
             self._setObject(new_id, aq_base(cell))
-            self._delObject(old_id)
             cell.isIndexable = 1
             cell.reindexObject()
             #cell.unindexObject(path='%s/%s' % (self.getUrl(), old_id))
@@ -444,10 +444,10 @@ class XMLMatrix(Folder):
           cell = self.get(old_id)
           if cell is not None:
             new_id = old_id[:-removed_id_len]
+            self._delObject(old_id)
             cell.isIndexable = 0
             cell.id = new_id
             self._setObject(new_id, aq_base(cell))
-            self._delObject(old_id)
             cell.isIndexable = 1
             cell.reindexObject()
             #cell.unindexObject(path='%s/%s' % (self.getUrl(), old_id))