diff --git a/chrome/browser/extensions/extension_web_ui_browsertest.cc b/chrome/browser/extensions/extension_web_ui_browsertest.cc
deleted file mode 100644
index 169bfe2c..0000000
--- a/chrome/browser/extensions/extension_web_ui_browsertest.cc
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright 2018 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/extensions/extension_browsertest.h"
-#include "chrome/browser/extensions/extension_service.h"
-#include "chrome/browser/ui/browser.h"
-#include "chrome/browser/ui/tabs/tab_strip_model.h"
-#include "chrome/common/url_constants.h"
-#include "chrome/test/base/ui_test_utils.h"
-#include "content/public/browser/web_contents.h"
-#include "content/public/test/browser_test_utils.h"
-#include "extensions/browser/extension_registry.h"
-#include "extensions/browser/test_extension_registry_observer.h"
-#include "extensions/common/extension.h"
-#include "net/test/embedded_test_server/embedded_test_server.h"
-
-using ExtensionWebUIBrowserTest = ExtensionBrowserTest;
-
-namespace extensions {
-
-IN_PROC_BROWSER_TEST_F(ExtensionWebUIBrowserTest,
-                       NavigateToDefaultChromePageOnExtensionUnload) {
-  TabStripModel* tab_strip_model = browser()->tab_strip_model();
-
-  const Extension* extension =
-      LoadExtension(test_data_dir_.AppendASCII("api_test")
-                        .AppendASCII("override")
-                        .AppendASCII("history"));
-  ASSERT_TRUE(extension);
-  std::string extension_id = extension->id();
-
-  // Open the chrome://history/ page in the current tab.
-  GURL extension_url(chrome::kChromeUIHistoryURL);
-  ui_test_utils::NavigateToURL(browser(), extension_url);
-  content::WaitForLoadStop(tab_strip_model->GetActiveWebContents());
-
-  // Check that the chrome://history/ page contains the extension's content.
-  std::string location;
-  EXPECT_TRUE(content::ExecuteScriptAndExtractString(
-      browser()->tab_strip_model()->GetActiveWebContents(),
-      "domAutomationController.send(location.href);\n", &location));
-  EXPECT_EQ(extension_id, GURL(location).host());  // Extension has control.
-
-  ASSERT_EQ(1, tab_strip_model->count());
-
-  // Uninstall the extension.
-  ExtensionService* service =
-      ExtensionSystem::Get(browser()->profile())->extension_service();
-  ExtensionRegistry* registry = ExtensionRegistry::Get(browser()->profile());
-  TestExtensionRegistryObserver registry_observer(registry);
-  service->UnloadExtension(extension->id(), UnloadedExtensionReason::UNINSTALL);
-  registry_observer.WaitForExtensionUnloaded();
-
-  // Check that the opened chrome://history/ page contains the default chrome
-  // history page content.
-  ASSERT_EQ(1, tab_strip_model->count());
-  content::WaitForLoadStop(tab_strip_model->GetActiveWebContents());
-  EXPECT_EQ(
-      chrome::kChromeUIHistoryURL,
-      tab_strip_model->GetActiveWebContents()->GetLastCommittedURL().spec());
-
-  EXPECT_TRUE(content::ExecuteScriptAndExtractString(
-      tab_strip_model->GetActiveWebContents(),
-      "domAutomationController.send(location.href);\n", &location));
-  // Default history page has control.
-  EXPECT_EQ(chrome::kChromeUIHistoryURL, GURL(location).spec());
-}
-
-}  // namespace extensions
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
index 1067eec..b8db847 100644
--- a/chrome/browser/ui/browser.cc
+++ b/chrome/browser/ui/browser.cc
@@ -2103,21 +2103,7 @@
            web_contents->GetURL().host_piece() == extension->id()) ||
           (extensions::TabHelper::FromWebContents(web_contents)
                ->extension_app() == extension)) {
-        if (tab_strip_model_->count() > 1) {
-          tab_strip_model_->CloseWebContentsAt(i, TabStripModel::CLOSE_NONE);
-        } else {
-          // If there is only 1 tab remaining, do not close it and instead
-          // navigate to the default NTP. Note that if there is an installed
-          // extension that overrides the NTP page, that extension's content
-          // will override the NTP contents.
-          GURL url(chrome::kChromeUINewTabURL);
-          web_contents->GetController().LoadURL(
-              url,
-              content::Referrer::SanitizeForRequest(
-                  url,
-                  content::Referrer(url, blink::kWebReferrerPolicyDefault)),
-              ui::PAGE_TRANSITION_RELOAD, std::string());
-        }
+        tab_strip_model_->CloseWebContentsAt(i, TabStripModel::CLOSE_NONE);
       } else {
         chrome::UnmuteIfMutedByExtension(web_contents, extension->id());
       }
diff --git a/chrome/browser/ui/browser_browsertest.cc b/chrome/browser/ui/browser_browsertest.cc
index 07ce8a50..493ccbc 100644
--- a/chrome/browser/ui/browser_browsertest.cc
+++ b/chrome/browser/ui/browser_browsertest.cc
@@ -34,7 +34,6 @@
 #include "chrome/browser/devtools/devtools_window_testing.h"
 #include "chrome/browser/extensions/extension_browsertest.h"
 #include "chrome/browser/extensions/extension_service.h"
-#include "chrome/browser/extensions/extension_tab_util.h"
 #include "chrome/browser/extensions/extension_util.h"
 #include "chrome/browser/extensions/tab_helper.h"
 #include "chrome/browser/first_run/first_run.h"
@@ -107,7 +106,6 @@
 #include "content/public/test/test_navigation_observer.h"
 #include "extensions/browser/extension_registry.h"
 #include "extensions/browser/extension_system.h"
-#include "extensions/browser/test_extension_registry_observer.h"
 #include "extensions/browser/uninstall_reason.h"
 #include "extensions/common/constants.h"
 #include "extensions/common/extension.h"
@@ -1120,45 +1118,6 @@
   ASSERT_EQ(1, browser()->tab_strip_model()->count());
 }
 
-// Tests that when an extension is unloaded, if only one tab is opened
-// containing extenions-related content, then the tab is kept open and is
-// directed to the default NTP.
-IN_PROC_BROWSER_TEST_F(BrowserTest, NavigateToDefaultNTPPageOnExtensionUnload) {
-  ASSERT_TRUE(embedded_test_server()->Start());
-  TabStripModel* tab_strip_model = browser()->tab_strip_model();
-
-  const Extension* extension =
-      LoadExtension(test_data_dir_.AppendASCII("options_page/"));
-  ASSERT_TRUE(extension);
-
-  GURL extension_url = extension->GetResourceURL("options.html");
-  ui_test_utils::NavigateToURL(browser(), extension_url);
-  content::WaitForLoadStop(tab_strip_model->GetActiveWebContents());
-
-  ASSERT_EQ(1, browser()->tab_strip_model()->count());
-  EXPECT_EQ(
-      extension_url.spec(),
-      tab_strip_model->GetActiveWebContents()->GetLastCommittedURL().spec());
-
-  // Uninstall the extension.
-  ExtensionService* service =
-      extensions::ExtensionSystem::Get(browser()->profile())
-          ->extension_service();
-  extensions::ExtensionRegistry* registry =
-      extensions::ExtensionRegistry::Get(browser()->profile());
-  extensions::TestExtensionRegistryObserver registry_observer(registry);
-  service->UnloadExtension(extension->id(),
-                           extensions::UnloadedExtensionReason::UNINSTALL);
-  registry_observer.WaitForExtensionUnloaded();
-  content::WaitForLoadStop(tab_strip_model->GetActiveWebContents());
-
-  // There should only be one tab now, with the NTP loaded.
-  ASSERT_EQ(1, tab_strip_model->count());
-  EXPECT_EQ(
-      chrome::kChromeUINewTabURL,
-      tab_strip_model->GetActiveWebContents()->GetLastCommittedURL().spec());
-}
-
 // Open with --app-id=<id>, and see that an application tab opens by default.
 IN_PROC_BROWSER_TEST_F(BrowserTest, AppIdSwitch) {
   ASSERT_TRUE(embedded_test_server()->Start());
@@ -2413,7 +2372,7 @@
       web_contents->GetContainerBounds().size();
   RenderViewSizeObserver observer(web_contents, browser()->window());
 
-  // Navigate to a non-NTP, without resizing WebContentsView.
+  // Navigate to a non-NTP page, without resizing WebContentsView.
   ui_test_utils::NavigateToURL(browser(),
                                embedded_test_server()->GetURL("/title1.html"));
   ASSERT_EQ(BookmarkBar::HIDDEN, browser()->bookmark_bar_state());
@@ -2451,7 +2410,7 @@
   EXPECT_EQ(wcv_commit_size0, web_contents->GetContainerBounds().size());
 #endif
 
-  // Navigate to another non-NTP, without resizing WebContentsView.
+  // Navigate to another non-NTP page, without resizing WebContentsView.
   ui_test_utils::NavigateToURL(browser(),
                                https_test_server.GetURL("/title2.html"));
   ASSERT_EQ(BookmarkBar::HIDDEN, browser()->bookmark_bar_state());
@@ -2467,7 +2426,7 @@
             web_contents->GetRenderWidgetHostView()->GetViewBounds().size());
   EXPECT_EQ(wcv_commit_size1, web_contents->GetContainerBounds().size());
 
-  // Navigate from NTP to a non-NTP, resizing WebContentsView while
+  // Navigate from NTP to a non-NTP page, resizing WebContentsView while
   // navigation entry is pending.
   ui_test_utils::NavigateToURL(browser(), GURL("chrome://newtab"));
   gfx::Size wcv_resize_insets(1, 1);
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index 4eef3ce..540a6b0 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -1256,7 +1256,6 @@
         "../browser/extensions/extension_unload_browsertest.cc",
         "../browser/extensions/extension_url_rewrite_browsertest.cc",
         "../browser/extensions/extension_view_host_factory_browsertest.cc",
-        "../browser/extensions/extension_web_ui_browsertest.cc",
         "../browser/extensions/extension_websocket_apitest.cc",
         "../browser/extensions/extension_webui_apitest.cc",
         "../browser/extensions/extension_with_management_policy_apitest.cc",
