diff --git a/src/plugins/qmldesigner/core/instances/nodeinstancemetaobject.cpp b/src/plugins/qmldesigner/core/instances/nodeinstancemetaobject.cpp
index befbc524eeafc75916e39bb65585bdc90ae103fb..bdd1131032575ad4dd853248a227f0960b7b59ab 100644
--- a/src/plugins/qmldesigner/core/instances/nodeinstancemetaobject.cpp
+++ b/src/plugins/qmldesigner/core/instances/nodeinstancemetaobject.cpp
@@ -62,10 +62,12 @@ int NodeInstanceMetaObject::metaCall(QMetaObject::Call call, int id, void **a)
             }
         }
     } else {
-        if (parent())
-            metaCallReturnValue = parent()->metaCall(call, id, a);
-        else
-            metaCallReturnValue = object()->qt_metacall(call, id, a);
+        if (!QObjectPrivate::get(object())->wasDeleted) {
+            if (parent())
+                metaCallReturnValue = parent()->metaCall(call, id, a);
+            else
+                metaCallReturnValue = object()->qt_metacall(call, id, a);
+        }
 
         if (call == QMetaObject::WriteProperty
             && !property(id).hasNotifySignal()