diff --git a/src/activeqt/container/qaxbase.cpp b/src/activeqt/container/qaxbase.cpp
index 89f6201a9124c1dcc84ed6e9ee7d8f3c3f6ee17e..0d5ab65e9cbc8aa9ad1a2ac2e92e8726ee5ac160 100644
--- a/src/activeqt/container/qaxbase.cpp
+++ b/src/activeqt/container/qaxbase.cpp
@@ -3092,7 +3092,10 @@ QMetaObject *MetaObjectGenerator::metaObject(const QMetaObject *parentObject, co
     header->flags = 0;
     header->signalCount = signal_list.count();
 
-    QMetaStringTable strings(that ? QByteArray(that->className()) : className);
+    QByteArray classNameForMetaObject = className;
+    if (that)
+        classNameForMetaObject = that->className();
+    QMetaStringTable strings(classNameForMetaObject);
 
     uint offset = header->classInfoData;