diff --git a/src/plugins/coreplugin/id.cpp b/src/plugins/coreplugin/id.cpp
index 28d60377ee71b3b62a8f87bd9672f7f4d3085d3b..7c72042df7499539944ef943e72ec3c1b2cc29a8 100644
--- a/src/plugins/coreplugin/id.cpp
+++ b/src/plugins/coreplugin/id.cpp
@@ -129,7 +129,12 @@ QByteArray Id::name() const
 
 QString Id::toString() const
 {
-    return QString::fromUtf8(stringFromId[m_id]);
+    return QString::fromUtf8(stringFromId.at(m_id));
+}
+
+bool Id::operator==(const char *name) const
+{
+    return strcmp(stringFromId.at(m_id).constData(), name) == 0;
 }
 
 // For debugging purposes
diff --git a/src/plugins/coreplugin/id.h b/src/plugins/coreplugin/id.h
index 6fee7e859839251efb6362e8fca3087c4b982b70..51e889c092cc3e80f15d1b9791ae040a826c7d51 100644
--- a/src/plugins/coreplugin/id.h
+++ b/src/plugins/coreplugin/id.h
@@ -50,6 +50,7 @@ public:
     QString toString() const;
     bool isValid() const { return m_id; }
     bool operator==(Id id) const { return m_id == id.m_id; }
+    bool operator==(const char *name) const;
     bool operator!=(Id id) const { return m_id != id.m_id; }
     bool operator<(Id id) const { return m_id < id.m_id; }
     bool operator>(Id id) const { return m_id > id.m_id; }