diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index be16faa309a..ed246e58da6 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -3540,16 +3540,18 @@ instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({ var self = this; self.load_views(); - this.is_loaded.done(function() { - self.on("change:effective_readonly", self, function() { - self.is_loaded = self.is_loaded.then(function() { - self.viewmanager.destroy(); - return $.when(self.load_views()).done(function() { - self.reload_current_view(); - }); + var destroy = function() { + self.is_loaded = self.is_loaded.then(function() { + self.viewmanager.destroy(); + return $.when(self.load_views()).done(function() { + self.reload_current_view(); }); }); + }; + this.is_loaded.done(function() { + self.on("change:effective_readonly", self, destroy); }); + this.view.on("on_button_cancel", self, destroy); this.is_started = true; this.reload_current_view(); },