diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp b/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp
index 7c1f0518d5fac3e1742876a2eb2724d238b0a3aa..b57ad1779f247d999872788b365af6daa1752e86 100644
--- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp
+++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp
@@ -550,40 +550,39 @@ QString templateGeneration(NodeMetaInfo type, NodeMetaInfo superType)
     qmlTemplate += QLatin1String("layout: VerticalLayout {\n");
 
     QList<QString> orderedList;
-    foreach (const PropertyMetaInfo &propertyMetaInfo, type.properties()){
-        orderedList.append(propertyMetaInfo.name());
-    }
-
+    orderedList = type.properties(true).keys();
     qSort(orderedList);
 
     foreach (const QString &name, orderedList) {
-        const PropertyMetaInfo propertyMetaInfo(type.property(name));
+        const PropertyMetaInfo propertyMetaInfo(type.property(name, true));
+        QString properName = name;
+        properName.replace(".", "_");
 
-        if (!superType.hasProperty(propertyMetaInfo.name())) {
+        if (!superType.hasProperty(name, true)) {
             if (propertyMetaInfo.type() == "int") {
                 qmlTemplate +=  QString(QLatin1String(
-                "IntEditor { backendValue: backendValues.%1\n caption: \"%1\"\nbaseStateFlag: isBaseState\nslider: false\n}"
-                )).arg(propertyMetaInfo.name());
+                "IntEditor { backendValue: backendValues.%2\n caption: \"%1\"\nbaseStateFlag: isBaseState\nslider: false\n}"
+                )).arg(name).arg(properName);
             }
             if (propertyMetaInfo.type() == "real" || propertyMetaInfo.type() == "double" || propertyMetaInfo.type() == "qreal") {
                 qmlTemplate +=  QString(QLatin1String(
-                "DoubleSpinBoxAlternate {\ntext: \"%1\"\nbackendValue: backendValues.%1\nbaseStateFlag: isBaseState\n}\n"
-                )).arg(propertyMetaInfo.name());
+                "DoubleSpinBoxAlternate {\ntext: \"%1\"\nbackendValue: backendValues.%2\nbaseStateFlag: isBaseState\n}\n"
+                )).arg(name).arg(properName);
             }
             if (propertyMetaInfo.type() == "string") {
                  qmlTemplate +=  QString(QLatin1String(
-                "QWidget {\nlayout: HorizontalLayout {\nLabel {\ntext: \"%1\"\ntoolTip: \"%1\"\n}\nLineEdit {\nbackendValue: backendValues.%1\nbaseStateFlag: isBaseState\n}\n}\n}\n"
-                )).arg(propertyMetaInfo.name());
+                "QWidget {\nlayout: HorizontalLayout {\nLabel {\ntext: \"%1\"\ntoolTip: \"%1\"\n}\nLineEdit {\nbackendValue: backendValues.%2\nbaseStateFlag: isBaseState\n}\n}\n}\n"
+                )).arg(name).arg(properName);
             }
             if (propertyMetaInfo.type() == "bool") {
                  qmlTemplate +=  QString(QLatin1String(
-                 "QWidget {\nlayout: HorizontalLayout {\nLabel {\ntext: \"%1\"\ntoolTip: \"%1\"\n}\nCheckBox {text: backendValues.%1.value\nbackendValue: backendValues.%1\nbaseStateFlag: isBaseState\ncheckable: true\n}\n}\n}\n"
-                 )).arg(propertyMetaInfo.name());
+                 "QWidget {\nlayout: HorizontalLayout {\nLabel {\ntext: \"%1\"\ntoolTip: \"%1\"\n}\nCheckBox {text: backendValues.%2.value\nbackendValue: backendValues.%2\nbaseStateFlag: isBaseState\ncheckable: true\n}\n}\n}\n"
+                 )).arg(name).arg(properName);
             }
-            if (propertyMetaInfo.type() == "color" || propertyMetaInfo.type() == "qcolor") {
+            if (propertyMetaInfo.type() == "color" || propertyMetaInfo.type() == "QColor") {
                 qmlTemplate +=  QString(QLatin1String(
-                "ColorGroupBox {\ncaption: \"%1\"\nfinished: finishedNotify\nbackendColor: backendValues.%1\n}\n\n"
-                )).arg(propertyMetaInfo.name());
+                "ColorGroupBox {\ncaption: \"%1\"\nfinished: finishedNotify\nbackendColor: backendValues.%2\n}\n\n"
+                )).arg(name).arg(properName);
             }
         }
     }