diff --git a/shared/proparser/profileevaluator.cpp b/shared/proparser/profileevaluator.cpp
index aa3507c4a670117789d42d13a62601bddfceb136..2c349ae8a89799e16b1b60aefded89863350d64f 100644
--- a/shared/proparser/profileevaluator.cpp
+++ b/shared/proparser/profileevaluator.cpp
@@ -533,14 +533,14 @@ bool ProFileEvaluator::Private::visitEndProFile(ProFile * pro)
         if (!mkspecDirectory.isEmpty()) {
             evaluateFile(mkspecDirectory + QLatin1String("/features/default_post.prf"), &ok);
 
-            QStringList processed;
+            QSet<QString> processed;
             forever {
                 bool finished = true;
                 QStringList configs = values(QLatin1String("CONFIG"));
                 for (int i = configs.size() - 1; i >= 0; --i) {
                     const QString config = configs[i].toLower();
                     if (!processed.contains(config)) {
-                        processed.append(config);
+                        processed.insert(config);
                         evaluateFile(mkspecDirectory + QLatin1String("/features/")
                                      + config + QLatin1String(".prf"), &ok);
                         if (ok) {