diff --git a/src/plugins/qmldesigner/core/model/texttomodelmerger.cpp b/src/plugins/qmldesigner/core/model/texttomodelmerger.cpp
index 8940b7551578be3fb3acf539e88538ecac14145d..11bbaed71158cc56826cb26622df4d1f05bfae4c 100644
--- a/src/plugins/qmldesigner/core/model/texttomodelmerger.cpp
+++ b/src/plugins/qmldesigner/core/model/texttomodelmerger.cpp
@@ -391,7 +391,8 @@ void TextToModelMerger::syncNode(ModelNode &modelNode,
             } else {
                 if (isValidPropertyForNode(modelNode, astPropertyName)) {
                     AbstractProperty modelProperty = modelNode.property(astPropertyName);
-                    if (modelProperty.metaInfo().isListProperty()) {
+                    if (modelProperty.metaInfo().isValid()
+                        && modelProperty.metaInfo().isListProperty()) {
                         syncArrayProperty(modelProperty, QList<QmlJS::AST::UiObjectMember*>() << member, context, differenceHandler);
                     } else {
                         syncNodeProperty(modelProperty, binding, context, differenceHandler);