diff --git a/src/ifcopenshell-python/ifcopenshell/api/sequence/remove_task.py b/src/ifcopenshell-python/ifcopenshell/api/sequence/remove_task.py index 485d2c23ea..a7e7708b08 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/sequence/remove_task.py +++ b/src/ifcopenshell-python/ifcopenshell/api/sequence/remove_task.py @@ -76,6 +76,13 @@ class Usecase: ) elif not inverse.RelatedObjects: self.file.remove(inverse) + elif self.settings["task"] in inverse.RelatedObjects: + related_objects = list(inverse.RelatedObjects) + related_objects.remove(self.settings["task"]) + if not related_objects: + self.file.remove(inverse) + else: + inverse.RelatedObjects = related_objects elif inverse.is_a("IfcRelAssignsToControl"): if ( inverse.RelatingControl == self.settings["task"]