diff --git a/shell/browser/api/electron_api_menu.cc b/shell/browser/api/electron_api_menu.cc
index 269080dba7..95bf1a1e92 100644
--- a/shell/browser/api/electron_api_menu.cc
+++ b/shell/browser/api/electron_api_menu.cc
@@ -68,6 +68,10 @@ Menu::Menu(gin::Arguments* args)
}
Menu::~Menu() {
+ RemoveModelObserver();
+}
+
+void Menu::RemoveModelObserver() {
if (model_) {
model_->RemoveObserver(this);
}
diff --git a/shell/browser/api/electron_api_menu.h b/shell/browser/api/electron_api_menu.h
index fc76a0c3df..1a06968233 100644
--- a/shell/browser/api/electron_api_menu.h
+++ b/shell/browser/api/electron_api_menu.h
@@ -61,6 +61,10 @@ class Menu : public gin::Wrappable