diff --git a/tryton/gui/window/view_form/model/field.py b/tryton/gui/window/view_form/model/field.py index bd50f53671..c63a43c3df 100644 --- a/tryton/gui/window/view_form/model/field.py +++ b/tryton/gui/window/view_form/model/field.py @@ -681,9 +681,9 @@ class O2MField(Field): group.load_fields(fields) if mode == 'list ids': - for old_record in group: - if old_record.id not in value: - group.remove(old_record, remove=True, signal=False) + records_to_remove = [r for r in group if r.id not in value] + for record_to_remove in records_to_remove: + group.remove(record_to_remove, remove=True, signal=False) group.load(value, modified=modified or default) else: for vals in value: