diff --git a/share/qtcreator/gdbmacros/gdbmacros.cpp b/share/qtcreator/gdbmacros/gdbmacros.cpp
index b3361414bcb9a4541d12bbdff606d38ad6270b2f..b93bb69a4a3e1f3443d2963307ba3118d3e8d5ab 100644
--- a/share/qtcreator/gdbmacros/gdbmacros.cpp
+++ b/share/qtcreator/gdbmacros/gdbmacros.cpp
@@ -3480,7 +3480,7 @@ void *qDumpObjectData440(
             "\"").put(((QT_VERSION >> 8)  & 255)).put("\","
             "\"").put(((QT_VERSION)       & 255)).put("\"]");
         d.put(",namespace=\""NS"\",");
-        d.put(",dumperversion=\"1.3\",");
+        d.put("dumperversion=\"1.3\",");
 //      Dump out size information
         d.put("sizes={");
         d.put("int=\"").put(sizeof(int)).put("\",")
diff --git a/src/plugins/debugger/watchutils.cpp b/src/plugins/debugger/watchutils.cpp
index cd6c7e21b32873bbb16855a13ad3751cccc40598..d6daad15514058301f36b854229619f7df71d303 100644
--- a/src/plugins/debugger/watchutils.cpp
+++ b/src/plugins/debugger/watchutils.cpp
@@ -546,18 +546,22 @@ QList<WatchData> QtDumperResult::toWatchData(int source) const
             WatchData &wchild = rc.back();
             wchild.source = source;
             wchild.iname = iname;
-            wchild.iname += dot;
-            wchild.iname += dchild.name;
+            // Name can be empty for array-like things
+            const QString iname = dchild.name.isEmpty() ? QString::number(c) : dchild.name;
             // Use key entry as name (which is used for map nodes)
             if (dchild.key.isEmpty()) {
-                wchild.name = dchild.name;
+                wchild.name = iname;
             } else {
+                // Do not use map keys as iname since they might contain quotes.
                 wchild.name = decodeData(dchild.key, dchild.keyEncoded);
                 if (wchild.name.size() > 13) {
                     wchild.name.truncate(12);
                     wchild.name += QLatin1String("...");
                 }
             }
+            // Append iname to total iname.
+            wchild.iname += dot;
+            wchild.iname += iname;
             wchild.exp = dchild.exp;
             if (dchild.valueEncountered) {
                 wchild.valuedisabled = dchild.valuedisabled;
@@ -1349,7 +1353,7 @@ void QtDumperHelper::evaluationParameters(const WatchData &data,
     case QAbstractItemType:
         inner = data.addr.mid(1);
         break;
-    case QVectorType: 
+    case QVectorType:
         if (m_qtVersion >= 0x040600)
             extraArgs[1] = QString("(char*)&((%1).p->array)-(char*)((%2).p)")
                 .arg(data.exp).arg(data.exp);