diff --git a/odoo/addons/base/res/ir_property.py b/odoo/addons/base/res/ir_property.py index 73f8aafccad..99b63a95887 100644 --- a/odoo/addons/base/res/ir_property.py +++ b/odoo/addons/base/res/ir_property.py @@ -212,7 +212,11 @@ class Property(models.Model): id = refs.pop(prop.res_id) value = clean(values[id]) if value == default_value: - prop.unlink() + # avoid prop.unlink(), as it clears the record cache that can + # contain the value of other properties to set on record! + prop.check_access_rights('unlink') + prop.check_access_rule('unlink') + self._cr.execute("DELETE FROM ir_property WHERE id=%s", [prop.id]) elif value != clean(prop.get_by_record()): prop.write({'value': value})