diff --git a/modules/gui/qt/widgets/qml/ScrollBarExt.qml b/modules/gui/qt/widgets/qml/ScrollBarExt.qml
index 92fd86c1a1ae7c0b73c3a258a81e31ae88752a1b..847293536c2a5a2e01e50c09bcdf4bde7cc143da 100644
--- a/modules/gui/qt/widgets/qml/ScrollBarExt.qml
+++ b/modules/gui/qt/widgets/qml/ScrollBarExt.qml
@@ -30,10 +30,10 @@ T.ScrollBar {
                              implicitContentHeight + topPadding + bottomPadding)
 
     padding: VLCStyle.dp(2, VLCStyle.scale)
-    visible: policy !== T.ScrollBar.AlwaysOff
+    visible: policy !== T.ScrollBar.AlwaysOff && ((background && background.opacity > 0.0) || (contentItem && contentItem.opacity > 0.0))
     minimumSize: horizontal ? (height / width) : (width / height)
 
-    // We don't want to show anything is scrolling is not possible (content size less than
+    // We don't want to show anything if scrolling is not possible (content size less than
     // or equal to flickable size), unless `ScrollBar.AlwaysOn` is used (not by default):
     readonly property bool _shown: (policy === T.ScrollBar.AlwaysOn) || (control.size < 1.0)