diff --git a/modules/gui/qt/widgets/qml/FadingEdgeForListView.qml b/modules/gui/qt/widgets/qml/FadingEdgeForListView.qml
index 6d093293d64f3e2abf301032bc3ed1082e8fd359..a935ee8bba5d7b59746f97b8b067ebd525e72fd8 100644
--- a/modules/gui/qt/widgets/qml/FadingEdgeForListView.qml
+++ b/modules/gui/qt/widgets/qml/FadingEdgeForListView.qml
@@ -60,25 +60,27 @@ FadingEdge {
                                                                                   listView.currentItem.height)
                                                                         : Qt.rect(-1, -1, -1, -1)
 
-    enableBeginningFade: _fadeRectEnoughSize &&
-                         !beginningHoverHandler.hovered &&
-                         (orientation === Qt.Vertical ? !listView.atYBeginning
-                                                      : !listView.atXBeginning) &&
-                         Helpers.itemIntersects(beginningArea, _currentItemMappedRect)
-
-    enableEndFade: _fadeRectEnoughSize &&
-                   !endHoverHandler.hovered &&
-                   (orientation === Qt.Vertical ? !listView.atYEnd
-                                                : !listView.atXEnd) &&
-                   Helpers.itemIntersects(endArea, _currentItemMappedRect)
+    readonly property bool _disableBeginningFade: (!!listView.headerItem && (listView.headerPositioning !== ListView.InlineHeader)) ||
+                                                  !_fadeRectEnoughSize ||
+                                                  (orientation === Qt.Vertical ? listView.atYBeginning
+                                                                               : listView.atXBeginning) ||
+                                                  !Helpers.itemIntersects(beginningArea, _currentItemMappedRect)
+
+    readonly property bool _disableEndFade: (!!listView.footerItem && (listView.footerPositioning !== ListView.InlineFooter)) ||
+                                            !_fadeRectEnoughSize ||
+                                            (orientation === Qt.Vertical ? listView.atYEnd
+                                                                         : listView.atXEnd) ||
+                                            !Helpers.itemIntersects(endArea, _currentItemMappedRect)
 
     Binding on enableBeginningFade {
-        when: !!listView.headerItem && (listView.headerPositioning !== ListView.InlineHeader)
+        // This explicit binding is to override `enableBeginningFade` when it is not feasible to have fading edge.
+        when: root._disableBeginningFade || beginningHoverHandler.hovered
         value: false
     }
 
     Binding on enableEndFade {
-        when: !!listView.footerItem && (listView.footerPositioning !== ListView.InlineFooter)
+        // This explicit binding is to override `enableEndFade` when it is not feasible to have fading edge.
+        when: root._disableEndFade || endHoverHandler.hovered
         value: false
     }
 
@@ -88,7 +90,7 @@ FadingEdge {
         z: 99
         parent: root.listView
 
-        visible: root.enableBeginningFade
+        visible: !root._disableBeginningFade
 
         anchors {
             top: parent.top
@@ -117,7 +119,7 @@ FadingEdge {
         z: 99
         parent: root.listView
 
-        visible: root.enableEndFade
+        visible: !root._disableEndFade
 
         anchors {
             bottom: parent.bottom