diff --git a/modules/gui/qt/medialibrary/qml/MediaGroupDisplay.qml b/modules/gui/qt/medialibrary/qml/MediaGroupDisplay.qml
index c3405d6733c75601e06c6b46f2afa930d0070039..de86538f098eded7e03d6927244bbf39af7e9947 100644
--- a/modules/gui/qt/medialibrary/qml/MediaGroupDisplay.qml
+++ b/modules/gui/qt/medialibrary/qml/MediaGroupDisplay.qml
@@ -30,9 +30,10 @@ VideoAll {
 
     // Properties
 
-    property int      initialIndex: 0
-    property MLItemId initialId
-    property string   initialTitle
+    // NOTE: We need 'var' for properties altered by StackView.replace().
+    property int    initialIndex: 0
+    property var    initialId
+    property string initialTitle
 
     // Aliases
 
diff --git a/modules/gui/qt/medialibrary/qml/PlaylistMediaDisplay.qml b/modules/gui/qt/medialibrary/qml/PlaylistMediaDisplay.qml
index d0b4c85bfbcc9c92d0de07abcfc5a71e79bfbd7b..62eb8a9f0e7e080140bdf08736f276a6c2574535 100644
--- a/modules/gui/qt/medialibrary/qml/PlaylistMediaDisplay.qml
+++ b/modules/gui/qt/medialibrary/qml/PlaylistMediaDisplay.qml
@@ -38,9 +38,10 @@ FocusScope {
 
     readonly property int currentIndex: view.currentIndex
 
-    property int     initialIndex: 0
-    property MLItemId initialId
-    property string  initialName
+    // NOTE: We need 'var' for properties altered by StackView.replace().
+    property int    initialIndex: 0
+    property var    initialId
+    property string initialName
 
     // NOTE: Specify an optional header for the view.
     property Component header: undefined