diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstancemetaobject.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstancemetaobject.cpp
index b27033b7f72a19b7f3149bf9c63d71c6c8ecbaf2..e59857784dc8234781cc2a1ea9afbe62bc0264f8 100644
--- a/src/plugins/qmldesigner/designercore/instances/nodeinstancemetaobject.cpp
+++ b/src/plugins/qmldesigner/designercore/instances/nodeinstancemetaobject.cpp
@@ -10,7 +10,7 @@ namespace QmlDesigner {
 namespace Internal {
 
 NodeInstanceMetaObject::NodeInstanceMetaObject(const ObjectNodeInstance::Pointer &nodeInstance, QDeclarativeEngine *engine)
-    : QDeclarativeOpenMetaObject(nodeInstance->object(), new QDeclarativeOpenMetaObjectType(nodeInstance->object()->metaObject(), engine)),
+    : QDeclarativeOpenMetaObject(nodeInstance->object(), new QDeclarativeOpenMetaObjectType(nodeInstance->object()->metaObject(), engine), true),
     m_nodeInstance(nodeInstance),
     m_context(nodeInstance->isRootNodeInstance() ? nodeInstance->context() : 0)
 {
@@ -18,7 +18,7 @@ NodeInstanceMetaObject::NodeInstanceMetaObject(const ObjectNodeInstance::Pointer
 }
 
 NodeInstanceMetaObject::NodeInstanceMetaObject(const ObjectNodeInstancePointer &nodeInstance, QObject *object, const QString &prefix, QDeclarativeEngine *engine)
-    : QDeclarativeOpenMetaObject(object, new QDeclarativeOpenMetaObjectType(object->metaObject(), engine)),
+    : QDeclarativeOpenMetaObject(object, new QDeclarativeOpenMetaObjectType(object->metaObject(), engine), true),
     m_nodeInstance(nodeInstance),
     m_prefix(prefix)
 {
@@ -27,7 +27,9 @@ NodeInstanceMetaObject::NodeInstanceMetaObject(const ObjectNodeInstancePointer &
 
 void NodeInstanceMetaObject::createNewProperty(const QString &name)
 {
+    int id = createProperty(name.toLatin1(), 0);
     createProperty(name.toLatin1(), 0);
+    Q_ASSERT(id >= 0);
 }
 
 int NodeInstanceMetaObject::metaCall(QMetaObject::Call call, int id, void **a)