diff --git a/src/libs/qtcreatorcdbext/symbolgroupvalue.cpp b/src/libs/qtcreatorcdbext/symbolgroupvalue.cpp
index c189849c91e198a9cc5be4e6e7b934dcfb08028d..00c70b1bb2d5ea57dc4557474fe5e0665c063501 100644
--- a/src/libs/qtcreatorcdbext/symbolgroupvalue.cpp
+++ b/src/libs/qtcreatorcdbext/symbolgroupvalue.cpp
@@ -1789,12 +1789,25 @@ static bool dumpQByteArrayFromQPrivateClass(const SymbolGroupValue &v,
     const ULONG64 byteArrayAddress = addressOfQPrivateMember(v, mode, additionalOffset);
     if (!byteArrayAddress)
         return false;
-    const std::string dumpType = QtInfo::get(v.context()).prependQtCoreModule("QByteArray");
-    const std::string symbolName = SymbolGroupValue::pointedToSymbolName(byteArrayAddress , dumpType);
+    std::string dumpType = QtInfo::get(v.context()).prependQtCoreModule("QByteArray");
+    std::string symbolName = SymbolGroupValue::pointedToSymbolName(byteArrayAddress , dumpType);
+    if (SymbolGroupValue::verbose > 1)
+        DebugPrint() <<  "dumpQByteArrayFromQPrivateClass of " << v.name() << '/'
+                     << v.type() << " mode=" << mode
+                     << " offset=" << additionalOffset << " address=0x" << std::hex << byteArrayAddress
+                     << std::dec << " expr=" << symbolName;
     SymbolGroupNode *byteArrayNode =
             v.node()->symbolGroup()->addSymbol(v.module(), symbolName, std::string(), &errorMessage);
-    if (!byteArrayNode)
-        return false;
+    if (!byteArrayNode && errorMessage.find("DEBUG_ANY_ID") != std::string::npos) {
+        // HACK:
+        // In some rare cases the AddSymbol can't create a node with a given module name,
+        // but is able to add the symbol without any modulename.
+        dumpType = QtInfo::get(v.context()).prependModuleAndNameSpace("QByteArray", "", QtInfo::get(v.context()).nameSpace);
+        symbolName = SymbolGroupValue::pointedToSymbolName(byteArrayAddress , dumpType);
+        byteArrayNode = v.node()->symbolGroup()->addSymbol(v.module(), symbolName, std::string(), &errorMessage);
+        if (!byteArrayNode)
+            return false;
+    }
     return dumpQByteArray(SymbolGroupValue(byteArrayNode, v.context()), str);
 }