diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp b/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp
index faf3bf9c49ccea552796ab27646a07fe0bc19711..dd71527afd9337741eb4692fb586dd1c2aa3d5f0 100644
--- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp
+++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp
@@ -235,26 +235,31 @@ PropertyEditor::~PropertyEditor()
 
 void PropertyEditor::setupPane(const QString &typeName)
 {
-    if (m_typeHash.contains(typeName))
-        return;
 
     QUrl qmlFile = fileToUrl(locateQmlFile(QLatin1String("Qt/ItemPane.qml")));
     QUrl qmlSpecificsFile;
 
     qmlSpecificsFile = fileToUrl(locateQmlFile(typeName + "Specifics.qml"));
+    NodeType *type = m_typeHash.value(qmlFile.toString());
 
-    NodeType *type = m_typeHash.value(typeName);
-
-    type = new NodeType(qmlFile, this);
+    if (!type) {
+        type = new NodeType(qmlFile, this);
 
-    m_stackedWidget->addWidget(type->m_view);
-    m_typeHash.insert(typeName, type);
+        QmlContext *ctxt = type->m_view->rootContext();
+        ctxt->setContextProperty("finishedNotify", QVariant(false) );
+        type->initialSetup(typeName, qmlSpecificsFile, this);
+        type->m_view->execute();
+        ctxt->setContextProperty("finishedNotify", QVariant(true) );
 
-    QmlContext *ctxt = type->m_view->rootContext();
-    type->initialSetup(typeName, qmlSpecificsFile, this);
-    ctxt->setContextProperty("finishedNotify", QVariant(false) );
-    type->m_view->execute();
-    ctxt->setContextProperty("finishedNotify", QVariant(true) );
+        m_stackedWidget->addWidget(type->m_view);
+        m_typeHash.insert(qmlFile.toString(), type);
+    } else {
+        QmlContext *ctxt = type->m_view->rootContext();
+        ctxt->setContextProperty("finishedNotify", QVariant(false) );
+        type->initialSetup(typeName, qmlSpecificsFile, this); 
+        ctxt->setContextProperty("finishedNotify", QVariant(true) );
+    }
+    QApplication::processEvents();
 }
 
 void PropertyEditor::changeValue(const QString &propertyName)