diff --git a/share/qtcreator/dumper/qttypes.py b/share/qtcreator/dumper/qttypes.py
index 96191ed9b7ff076170b781ab4a0444ab85b95919..c19f52321c692ffe5b49794b1099233275edd3cd 100644
--- a/share/qtcreator/dumper/qttypes.py
+++ b/share/qtcreator/dumper/qttypes.py
@@ -2420,6 +2420,18 @@ def qdump__QScriptValue(d, value):
 #
 #######################################################################
 
+def qdump__Core__Id(d, value):
+    try:
+        name = parseAndEvaluate("Core::nameForId(%d)" % value["m_id"])
+        d.putValue(encodeCharArray(name), Hex2EncodedLatin1)
+        d.putNumChild(1)
+        if d.isExpanded():
+            with Children(d):
+                d.putFields(value)
+    except:
+        d.putValue(value["m_id"])
+        d.putNumChild(0)
+
 def qdump__Debugger__Internal__GdbMi(d, value):
     d.putByteArrayValue(value["m_data"])
     d.putPlainChildren(value)
diff --git a/src/plugins/coreplugin/id.cpp b/src/plugins/coreplugin/id.cpp
index 9bafc544cfcd24bbbbf44054e0bb9f9687d4d8ef..abd46e5d1de21758e04af57f5fbdc6fcbb4066c4 100644
--- a/src/plugins/coreplugin/id.cpp
+++ b/src/plugins/coreplugin/id.cpp
@@ -134,4 +134,10 @@ QString Id::toString() const
     return QString::fromUtf8(stringFromId[m_id]);
 }
 
+// For debugging purposes
+CORE_EXPORT const char *nameForId(int id)
+{
+    return (stringFromId.constData() + id)->constData();
+}
+
 } // namespace Core