diff --git a/core/modules/toolbar/src/Menu/ToolbarMenuLinkTree.php b/core/modules/toolbar/src/Menu/ToolbarMenuLinkTree.php
new file mode 100644
index 0000000..4d8c0e0
--- /dev/null
+++ b/core/modules/toolbar/src/Menu/ToolbarMenuLinkTree.php
@@ -0,0 +1,30 @@
+<?php
+
+namespace Drupal\toolbar\Menu;
+
+use Drupal\Core\Menu\MenuLinkTree;
+
+class ToolbarMenuLinkTree extends MenuLinkTree {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function build(array $tree, $level = 0) {
+    if ($level == 0) {
+      $build = parent::build($tree, $level);
+
+      /** @var \Drupal\Core\Menu\MenuLinkInterface $link */
+      $first_link = reset($tree)->link;
+      // Get the menu name of the first link.
+      $menu_name = $first_link->getMenuName();
+      // Add a more specific theme suggestion to differentiate this menu from
+      // others.
+      $build['#theme'] = 'menu__' . strtr($menu_name, '-', '_') . '__toolbar';
+      return $build;
+    }
+    else {
+      return parent::build($tree, $level);
+    }
+  }
+
+}
diff --git a/core/modules/toolbar/toolbar.module b/core/modules/toolbar/toolbar.module
index 50704d0..8be6051 100644
--- a/core/modules/toolbar/toolbar.module
+++ b/core/modules/toolbar/toolbar.module
@@ -204,7 +204,7 @@ function toolbar_toolbar() {
  * @see drupal_render()
  */
 function toolbar_prerender_toolbar_administration_tray(array $element) {
-  $menu_tree = \Drupal::menuTree();
+  $menu_tree = \Drupal::service('toolbar.menu_tree');
   // Render the top-level administration menu links.
   $parameters = new MenuTreeParameters();
   $parameters->setRoot('system.admin')->excludeRoot()->setTopLevelOnly()->onlyEnabledLinks();
@@ -261,7 +261,7 @@ function toolbar_menu_navigation_links(array $tree) {
  * Returns the rendered subtree of each top-level toolbar link.
  */
 function toolbar_get_rendered_subtrees() {
-  $menu_tree = \Drupal::menuTree();
+  $menu_tree = \Drupal::service('toolbar.menu_tree');
   $parameters = new MenuTreeParameters();
   $parameters->setRoot('system.admin')->excludeRoot()->setMaxDepth(3)->onlyEnabledLinks();
   $tree = $menu_tree->load(NULL, $parameters);
diff --git a/core/modules/toolbar/toolbar.services.yml b/core/modules/toolbar/toolbar.services.yml
index 278d3c7..d8110d2 100644
--- a/core/modules/toolbar/toolbar.services.yml
+++ b/core/modules/toolbar/toolbar.services.yml
@@ -10,3 +10,6 @@ services:
     class: Drupal\toolbar\PageCache\AllowToolbarPath
     tags:
       - { name: page_cache_request_policy }
+  toolbar.menu_tree:
+    class: Drupal\toolbar\Menu\ToolbarMenuLinkTree
+    arguments: ['@menu.tree_storage', '@plugin.manager.menu.link', '@router.route_provider', '@menu.active_trail', '@controller_resolver', '@cache.menu', '@current_route_match']
