diff --git a/src/controls/StatusBar.qml b/src/controls/StatusBar.qml
index 068b6b2002fd31dd9097d91b1a2d05f9d42f183b..85cc6681c4adc82756bef68952a07e3bd791d319 100644
--- a/src/controls/StatusBar.qml
+++ b/src/controls/StatusBar.qml
@@ -79,7 +79,7 @@ Item {
     Accessible.role: Accessible.StatusBar
 
     width: parent ? parent.width : implicitWidth
-    implicitWidth:  loader.item ? loader.item.implicitWidth : 200
+    implicitWidth: container.leftMargin + container.rightMargin + container.calcWidth()
     implicitHeight: Math.max(container.topMargin + container.bottomMargin + container.calcHeight(),
                              loader.item ? loader.item.implicitHeight : 19)
 
@@ -134,6 +134,10 @@ Item {
             property int rightMargin: __style ? __style.padding.right : 0
 
             property Item layoutItem: container.children.length === 1 ? container.children[0] : null
+            function calcWidth() { return (layoutItem ? (layoutItem.implicitWidth || layoutItem.width) +
+                                                          (layoutItem.anchors.fill ? layoutItem.anchors.leftMargin +
+                                                                                     layoutItem.anchors.rightMargin : 0) :
+                                                          loader.item ? loader.item.implicitWidth: 0) }
             function calcHeight () { return (layoutItem ? (layoutItem.implicitHeight || layoutItem.height) +
                                                           (layoutItem.anchors.fill ? layoutItem.anchors.topMargin +
                                                                                      layoutItem.anchors.bottomMargin : 0) : loader.item ? loader.item.implicitHeight : 0) }
diff --git a/src/controls/ToolBar.qml b/src/controls/ToolBar.qml
index e5cc84191d0dbd8b113e96ed3f33407fe772e79d..b73a6f3ebcb8bfe07799253dfb9308d54efd33d7 100644
--- a/src/controls/ToolBar.qml
+++ b/src/controls/ToolBar.qml
@@ -83,7 +83,7 @@ Item {
     Accessible.role: Accessible.ToolBar
 
     width: parent ? parent.width : implicitWidth
-    implicitWidth:  loader.item ? loader.item.implicitWidth : 200
+    implicitWidth: container.leftMargin + container.rightMargin + container.calcWidth()
     implicitHeight: container.topMargin + container.bottomMargin + container.calcHeight()
 
     /*! \internal */
@@ -137,6 +137,10 @@ Item {
             property int rightMargin: __style ? __style.padding.right : 0
 
             property Item layoutItem: container.children.length === 1 ? container.children[0] : null
+            function calcWidth() { return (layoutItem ? (layoutItem.implicitWidth || layoutItem.width) +
+                                                          (layoutItem.anchors.fill ? layoutItem.anchors.leftMargin +
+                                                                                     layoutItem.anchors.rightMargin : 0) :
+                                                          loader.item ? loader.item.implicitWidth : 0) }
             function calcHeight () { return (layoutItem ? (layoutItem.implicitHeight || layoutItem.height) +
                                                           (layoutItem.anchors.fill ? layoutItem.anchors.topMargin +
                                                                                      layoutItem.anchors.bottomMargin : 0) :