diff --git a/src/blenderbim/blenderbim/bim/ifc.py b/src/blenderbim/blenderbim/bim/ifc.py index bad89dea4c..6d0b7a35d4 100644 --- a/src/blenderbim/blenderbim/bim/ifc.py +++ b/src/blenderbim/blenderbim/bim/ifc.py @@ -277,6 +277,11 @@ class IfcStore: @staticmethod def link_element(element, obj): + existing_obj = IfcStore.id_map.get(element.id(), None) + if existing_obj == obj: + return + elif existing_obj: + IfcStore.unlink_element(obj=existing_obj) IfcStore.id_map[element.id()] = obj if hasattr(element, "GlobalId"): IfcStore.guid_map[element.GlobalId] = obj