diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp
index 59bfd5db13c3f105c06fac3e7ecdb436392dcb13..bad02129c2dd9b67d789ac270e1fa29d790320ba 100644
--- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp
+++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp
@@ -333,12 +333,13 @@ void PropertyEditorNodeWrapper::setup()
             delete object;
 
         foreach (const QString &propertyName, m_modelNode.metaInfo().properties().keys()) {
-            PropertyEditorValue *valueObject = new PropertyEditorValue(&m_valuesPropertyMap);
-            valueObject->setName(propertyName);
-            valueObject->setValue(fxObjectNode.instanceValue(propertyName));
-
-            connect(valueObject, SIGNAL(valueChanged(QString, const QVariant&)), &m_valuesPropertyMap, SIGNAL(valueChanged(QString, const QVariant&)));
-            m_valuesPropertyMap.insert(propertyName, QVariant::fromValue(valueObject));
+            if (fxObjectNode.isValid()) {
+                PropertyEditorValue *valueObject = new PropertyEditorValue(&m_valuesPropertyMap);
+                valueObject->setName(propertyName);
+                valueObject->setValue(fxObjectNode.instanceValue(propertyName));
+                connect(valueObject, SIGNAL(valueChanged(QString, const QVariant&)), &m_valuesPropertyMap, SIGNAL(valueChanged(QString, const QVariant&)));
+                m_valuesPropertyMap.insert(propertyName, QVariant::fromValue(valueObject));
+            }
         }
     }
     connect(&m_valuesPropertyMap, SIGNAL(valueChanged(const QString &, const QVariant&)), this, SLOT(changeValue(const QString&)));