diff --git a/src/plugins/qmldesigner/core/metainfo/metainfo.cpp b/src/plugins/qmldesigner/core/metainfo/metainfo.cpp
index d78dfb9221e6ea062518761b445d1ee0cd3e5468..7d88c55de82fdf58a07d096953fef8c6b141f1d1 100644
--- a/src/plugins/qmldesigner/core/metainfo/metainfo.cpp
+++ b/src/plugins/qmldesigner/core/metainfo/metainfo.cpp
@@ -191,6 +191,12 @@ void MetaInfoPrivate::parseNonQmlClassRecursively(const QMetaObject *qMetaObject
 {
     Q_ASSERT_X(qMetaObject, Q_FUNC_INFO, "invalid QMetaObject");
     const QString className = qMetaObject->className();
+
+    if (className.isEmpty()) {
+        qWarning() << "Meta type system: Registered class has no name.";
+        return;
+    }
+
     if ( !m_q->hasNodeMetaInfo(className)
         && !QDeclarativeMetaType::qmlTypeNames().contains(typeName(qMetaObject).toAscii()) ) {
         NodeMetaInfo nodeMetaInfo(*m_q);