diff --git a/odoo/addons/base/models/ir_model.py b/odoo/addons/base/models/ir_model.py index c6a361b88b1de0eeaf9ee27440260594ccd4ce47..4df60c018d80129f2adafa2ea1ccdbe4d3662eb2 100644 --- a/odoo/addons/base/models/ir_model.py +++ b/odoo/addons/base/models/ir_model.py @@ -1179,8 +1179,11 @@ class IrModelSelection(models.Model): result = super().unlink() - # setup models; this re-initializes model in registry - self.pool.setup_models(self._cr) + # Reload registry for normal unlink only. For module uninstall, the + # reload is done independently in odoo.modules.loading. + if not self._context.get(MODULE_UNINSTALL_FLAG): + # setup models; this re-initializes model in registry + self.pool.setup_models(self._cr) return result