diff --git a/src/plugins/qmldesigner/designercore/model/qmlstate.cpp b/src/plugins/qmldesigner/designercore/model/qmlstate.cpp
index bd17f083f17c5861ceced091925fe7ad30d91cc1..120cf89c12dbcddefc75ac6f6278954e37191444 100644
--- a/src/plugins/qmldesigner/designercore/model/qmlstate.cpp
+++ b/src/plugins/qmldesigner/designercore/model/qmlstate.cpp
@@ -60,7 +60,7 @@ QmlPropertyChanges QmlModelState::propertyChanges(const ModelNode &node)
     addChangeSetIfNotExists(node);
     foreach (const ModelNode &childNode, modelNode().nodeListProperty("changes").toModelNodeList()) {
         //### exception if not valid QmlModelStateOperation
-        if (QmlPropertyChanges(childNode).target().isValid() && QmlPropertyChanges(childNode).target() == node)
+        if (QmlPropertyChanges(childNode).target().isValid() && QmlPropertyChanges(childNode).target() == node && QmlPropertyChanges(childNode).isValid())
             return QmlPropertyChanges(childNode); //### exception if not valid(childNode);
     }
     return QmlPropertyChanges(); //not found