diff --git a/src/FactSystem/Fact.cc b/src/FactSystem/Fact.cc
index ec003ad3a3df90b2fc81c2f13d375a8242fae810..8f402a35b00430923a4a72202691d2e26c2c7128 100644
--- a/src/FactSystem/Fact.cc
+++ b/src/FactSystem/Fact.cc
@@ -701,7 +701,6 @@ FactValueSliderListModel* Fact::valueSliderModel(void)
 {
     if (!_valueSliderModel) {
         _valueSliderModel = new FactValueSliderListModel(*this);
-        QQmlEngine::setObjectOwnership(_valueSliderModel, QQmlEngine::JavaScriptOwnership);
     }
     return _valueSliderModel;
 }
diff --git a/src/FactSystem/FactValueSliderListModel.cc b/src/FactSystem/FactValueSliderListModel.cc
index 59adb5fd257de0cdf8222602eef36005d65479cc..7bce4adb88a80e2c082d2b55ac61678335e68e1c 100644
--- a/src/FactSystem/FactValueSliderListModel.cc
+++ b/src/FactSystem/FactValueSliderListModel.cc
@@ -30,6 +30,7 @@ FactValueSliderListModel::FactValueSliderListModel(Fact& fact, QObject* parent)
     , _initialValueRounded      (0)
     , _increment                (0)
 {
+    QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership);
 }
 
 FactValueSliderListModel::~FactValueSliderListModel()
@@ -38,10 +39,12 @@ FactValueSliderListModel::~FactValueSliderListModel()
 
 int FactValueSliderListModel::resetInitialValue(void)
 {
-    // Remove any old rows
-    beginRemoveRows(QModelIndex(), 0, _cValues - 1);
-    _cValues = 0;
-    endRemoveRows();
+    if (_cValues > 0) {
+        // Remove any old rows
+        beginRemoveRows(QModelIndex(), 0, _cValues - 1);
+        _cValues = 0;
+        endRemoveRows();
+    }
 
     _initialValue = _fact.cookedValue().toDouble();
     _initialValueRounded = qRound(_initialValue);