diff --git a/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp b/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp
index 926b0bb6cd2cf7c62c7da1cf43bffa442d569373..8f05ce4b716aeb10947a560c24813e704e8b1fb6 100644
--- a/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp
+++ b/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp
@@ -1021,8 +1021,19 @@ void NodeMetaInfoPrivate::setupPrototypes()
                 description.className = qmlValue->moduleName().toUtf8() + '.' + description.className;
             m_prototypes.append(description);
         } else {
-            if (context()->lookupType(document(), QStringList() << ov->className()))
+            if (context()->lookupType(document(), QStringList() << ov->className())) {
+                const Imports *allImports = context()->imports(document());
+                ImportInfo importInfo = allImports->info(description.className, context().data());
+
+                if (importInfo.isValid()) {
+                    QString uri = importInfo.name();
+                    uri.replace(QLatin1String(","), QLatin1String("."));
+                    if (!uri.isEmpty())
+                        description.className = QString(uri + QString::fromLatin1(".") + QString::fromLatin1(description.className)).toLatin1();
+                }
+
                 m_prototypes.append(description);
+            }
         }
     }
 }