diff --git a/src/plugins/coreplugin/id.cpp b/src/plugins/coreplugin/id.cpp
index 416df0a7af67b6fd95473f7a6fb0bd242f647702..a682cb1dd1e155174b447ee9882258fe546b3e6b 100644
--- a/src/plugins/coreplugin/id.cpp
+++ b/src/plugins/coreplugin/id.cpp
@@ -254,6 +254,8 @@ QVariant Id::toSetting() const
 Id Id::fromSetting(const QVariant &variant)
 {
     const QByteArray ba = variant.toString().toUtf8();
+    if (ba.isEmpty())
+        return Id();
     return Id(theId(ba));
 }