diff --git a/js/ui/panel.js b/js/ui/panel.js
index 2e14c2277..a92b810fb 100644
--- a/js/ui/panel.js
+++ b/js/ui/panel.js
@@ -1174,7 +1174,7 @@ const Panel = new Lang.Class({
             let indicator = this.statusArea[role];
             if (!indicator)
                 continue;
-            indicator._panelContainer.hide();
+            indicator.container.hide();
         }
     },
 
@@ -1206,18 +1206,12 @@ const Panel = new Lang.Class({
     },
 
     _addToPanelBox: function(role, indicator, position, box) {
-        let container = indicator._panelContainer;
-        if (!container) {
-            container = new St.Bin({ y_fill: true,
-                                     child: indicator.actor });
-            indicator._panelContainer = container;
-        }
+        let container = indicator.container;
         container.show();
 
         let parent = container.get_parent();
-        if (parent) {
+        if (parent)
             parent.remove_actor(container);
-        }
 
         box.insert_child_at_index(container, position);
         if (indicator.menu)
diff --git a/js/ui/panelMenu.js b/js/ui/panelMenu.js
index 1cad7c894..a20c5fc21 100644
--- a/js/ui/panelMenu.js
+++ b/js/ui/panelMenu.js
@@ -21,6 +21,10 @@ const ButtonBox = new Lang.Class({
         this.actor = new Shell.GenericContainer(params);
         this.actor._delegate = this;
 
+        this.container = new St.Bin({ y_fill: true,
+                                      x_fill: true,
+                                      child: this.actor });
+
         this.actor.connect('get-preferred-width', Lang.bind(this, this._getPreferredWidth));
         this.actor.connect('get-preferred-height', Lang.bind(this, this._getPreferredHeight));
         this.actor.connect('allocate', Lang.bind(this, this._allocate));