diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp b/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp
index 1feb76c64dff5a6d8833a3785da011177b7be3e0..74825d684dd4a4994be9a58358ad256398f9a33c 100644
--- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp
+++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp
@@ -754,14 +754,14 @@ void PropertyEditor::resetView()
         hierarchy << m_selectedNode.metaInfo().superClasses();
 
         foreach (const NodeMetaInfo &info, hierarchy) {
-            if (QFileInfo(qmlSpecificsFile.toLocalFile()).exists())
+            if (QFileInfo(fileFromUrl(qmlSpecificsFile)).exists())
                 break;
             qmlSpecificsFile = fileToUrl(locateQmlFile(info, fixTypeNameForPanes(info.typeName()) + "Specifics.qml"));
             diffClassName = info.typeName();
         }
     }
 
-    if (!QFileInfo(qmlSpecificsFile.toLocalFile()).exists())
+    if (!QFileInfo(fileFromUrl(qmlSpecificsFile)).exists())
         diffClassName = specificsClassName;
 
     QString specificQmlData;
@@ -1050,6 +1050,16 @@ QUrl PropertyEditor::fileToUrl(const QString &filePath) const {
     return fileUrl;
 }
 
+QString PropertyEditor::fileFromUrl(const QUrl &url) const
+{
+    if (url.scheme() == QLatin1String("qrc")) {
+        const QString &path = url.path();
+        return QLatin1String(":") + path;
+    }
+
+    return url.toLocalFile();
+}
+
 QUrl PropertyEditor::qmlForNode(const ModelNode &modelNode, QString &className) const
 {
     if (modelNode.isValid()) {
diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.h b/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.h
index 50968c0e856dc63e1724e2ef2add5a101814cf1b..8e30ed28e35d41fd8b51a6d385d2ba3e7100d902 100644
--- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.h
+++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditor.h
@@ -128,6 +128,7 @@ private slots:
 private: //functions
     QString qmlFileName(const NodeMetaInfo &nodeInfo) const;
     QUrl fileToUrl(const QString &filePath) const;
+    QString fileFromUrl(const QUrl &url) const;
     QUrl qmlForNode(const ModelNode &modelNode, QString &className) const;
     QString locateQmlFile(const NodeMetaInfo &info, const QString &relativePath) const;
     void select(const ModelNode& node);