diff --git a/core/modules/toolbar/js/toolbar.js b/core/modules/toolbar/js/toolbar.js
index 95656b2957639443a57b2513850cdef008f6b078..ee6c02cbe8252c021b368f8d9f94fc060859485e 100644
--- a/core/modules/toolbar/js/toolbar.js
+++ b/core/modules/toolbar/js/toolbar.js
@@ -54,9 +54,12 @@ Drupal.behaviors.toolbar = {
       // @todo Optimize this to delay adding each subtree to the DOM until it is
       //   needed; however, take into account screen readers for determining
       //   when the DOM elements are needed.
-      if (Drupal.toolbar.subtrees) {
-        for (var id in Drupal.toolbar.subtrees) {
-          $('#toolbar-link-' + id).after(Drupal.toolbar.subtrees[id]);
+      var subtrees = Drupal.toolbar.subtrees;
+      if (subtrees) {
+        for (var id in subtrees) {
+          if (subtrees.hasOwnProperty(id)) {
+            $('#toolbar-link-' + id).after(subtrees.id);
+          }
         }
       }
       // Append a messages element for appending interaction updates for screen