Rex Dieter 1281fb
--- src/qml/util/qqmladaptormodel.cpp.orig	2016-05-27 17:06:31.192332166 -0300
Rex Dieter 1281fb
+++ src/qml/util/qqmladaptormodel.cpp	2016-05-27 18:37:27.764552053 -0300
Rex Dieter 1281fb
@@ -163,8 +163,14 @@ public:
Rex Dieter 1281fb
                 signalIndexes.append(propertyId + signalOffset);
Rex Dieter 1281fb
         }
Rex Dieter 1281fb
 
Rex Dieter 1281fb
-        for (int i = 0, c = items.count();  i < c; ++i) {
Rex Dieter 1281fb
-            QQmlDelegateModelItem *item = items.at(i);
Rex Dieter 1281fb
+        const QList<QQmlDelegateModelItem *> copy = items;
Rex Dieter 1281fb
+        for (int i = 0, c = copy.count();  i < c; ++i) {
Rex Dieter 1281fb
+            // Applying the same logic used in QQmlDelegateModel::_q_itemsRemoved().
Rex Dieter 1281fb
+            QQmlDelegateModelItem *item = copy.at(i);
Rex Dieter 1281fb
+            if (!items.contains(item)) {
Rex Dieter 1281fb
+                continue;
Rex Dieter 1281fb
+            }
Rex Dieter 1281fb
+
Rex Dieter 1281fb
             const int idx = item->modelIndex();
Rex Dieter 1281fb
             if (idx >= index && idx < index + count) {
Rex Dieter 1281fb
                 for (int i = 0; i < signalIndexes.count(); ++i)