diff --git a/chrome/browser/ui/views/passwords/password_bubble_view_base.cc b/chrome/browser/ui/views/passwords/password_bubble_view_base.cc
index 11baaa0b162fe..3f36bdf7e8099 100644
--- a/chrome/browser/ui/views/passwords/password_bubble_view_base.cc
+++ b/chrome/browser/ui/views/passwords/password_bubble_view_base.cc
@@ -105,8 +105,13 @@ void PasswordBubbleViewBase::ShowBubble(content::WebContents* web_contents,
   views::BubbleDialogDelegateView::CreateBubble(g_manage_passwords_bubble_);
 
   g_manage_passwords_bubble_->ShowForReason(reason);
-  g_manage_passwords_bubble_->RegisterWindowClosingCallback(
-      base::BindOnce([]() { g_manage_passwords_bubble_ = nullptr; }));
+  g_manage_passwords_bubble_->RegisterWindowClosingCallback(base::BindOnce(
+      [](PasswordBubbleViewBase* closing_bubble) {
+        if (closing_bubble == g_manage_passwords_bubble_) {
+          g_manage_passwords_bubble_ = nullptr;
+        }
+      },
+      bubble));
 
   if (features::IsToolbarPinningEnabled()) {
     auto* passwords_action_item = actions::ActionManager::Get().FindAction(