diff --git a/src/libs/utils/persistentsettings.cpp b/src/libs/utils/persistentsettings.cpp
index 42b04169d76cb4aacbc649d0b397e875f86a4556..ce1530055af998e14d9d3094441bb8b8c4ac0eb8 100644
--- a/src/libs/utils/persistentsettings.cpp
+++ b/src/libs/utils/persistentsettings.cpp
@@ -316,7 +316,7 @@ ParseContext::Element ParseContext::element(const QStringRef &r) const
 QVariant ParseContext::readSimpleValue(QXmlStreamReader &r, const QXmlStreamAttributes &attributes) const
 {
     // Simple value
-    const QString type = attributes.value(typeAttribute).toString();
+    const QStringRef type = attributes.value(typeAttribute);
     const QString text = r.readElementText();
     if (type == QLatin1String("QChar")) { // Workaround: QTBUG-12345
         QTC_ASSERT(text.size() == 1, return QVariant());