diff --git a/src/private/qquickstyleitem.cpp b/src/private/qquickstyleitem.cpp
index 8ed83dee869dfbee283be6c1d7c2467f6e5d4f11..9d9bdc33e93e06d9d41e08b3961f658c24838485 100644
--- a/src/private/qquickstyleitem.cpp
+++ b/src/private/qquickstyleitem.cpp
@@ -886,7 +886,7 @@ int QQuickStyleItem::pixelMetric(const QString &metric)
     else if (metric == "taboverlap")
         return qApp->style()->pixelMetric(QStyle::PM_TabBarTabOverlap, 0 );
     else if (metric == "tabbaseoverlap")
-        return qApp->style()->pixelMetric(QStyle::PM_TabBarBaseOverlap, 0 );
+        return qApp->style()->pixelMetric(QStyle::PM_TabBarBaseOverlap, m_styleoption );
     else if (metric == "tabhspace")
         return qApp->style()->pixelMetric(QStyle::PM_TabBarTabHSpace, 0 );
     else if (metric == "indicatorwidth")
diff --git a/src/styles/Desktop/TabViewStyle.qml b/src/styles/Desktop/TabViewStyle.qml
index 75c41223c4c51bdd782a353aae72d893a8349158..9cd34705cd0f398adaca483c982d255e13367152 100644
--- a/src/styles/Desktop/TabViewStyle.qml
+++ b/src/styles/Desktop/TabViewStyle.qml
@@ -49,7 +49,12 @@ Style {
     property int tabOverlap: __barstyle.pixelMetric("taboverlap");
     property int frameOverlap: __barstyle.pixelMetric("tabbaseoverlap");
 
-    property StyleItem __barstyle: StyleItem { elementType: "tabbar" ; visible: false }
+    property StyleItem __barstyle: StyleItem {
+        elementType: "tab"
+        hints: [control.tabPosition === Qt.TopEdge ? "Top" : "Bottom"]
+        visible: false
+    }
+
     property Component frame: StyleItem {
         id: styleitem
         anchors.fill: parent