diff --git a/src/plugins/projectexplorer/userfileaccessor.cpp b/src/plugins/projectexplorer/userfileaccessor.cpp
index 48cd623f591011e6ad3eeed00eec60f2695f234b..0d67a55a568191e89b9b733ef6b2ee0b0db874ea 100644
--- a/src/plugins/projectexplorer/userfileaccessor.cpp
+++ b/src/plugins/projectexplorer/userfileaccessor.cpp
@@ -1808,7 +1808,7 @@ static const char * const varExpandedKeys[] = {
 };
 
 // Translate old-style ${} var expansions into new-style %{} ones
-static QVariant version8VarNodeHandler(const QVariant &var)
+static QVariant version8VarNodeTransform(const QVariant &var)
 {
     static const char * const vars[] = {
         "absoluteFilePath",
@@ -1845,6 +1845,17 @@ static QVariant version8VarNodeHandler(const QVariant &var)
     return QVariant(str);
 }
 
+static QVariant version8VarNodeHandler(const QVariant &var)
+{
+    if (var.type() != QVariant::List)
+        return version8VarNodeTransform(var);
+
+    QVariantList vl;
+    foreach (const QVariant &svar, var.toList())
+        vl << version8VarNodeTransform(svar);
+    return vl;
+}
+
 QVariantMap Version8Handler::update(Project *, const QVariantMap &map)
 {
     const char * const *p1 = argListKeys;