diff --git a/shared/proparser/profileevaluator.cpp b/shared/proparser/profileevaluator.cpp
index 2efbbe90b5c878e254eed1e818727ead18a5458d..babcb698fb9121f3a7a83e5e2ede893b6640ded6 100644
--- a/shared/proparser/profileevaluator.cpp
+++ b/shared/proparser/profileevaluator.cpp
@@ -1989,7 +1989,13 @@ bool ProFileEvaluator::Private::evaluateFeatureFile(const QString &fileName, boo
             break;
         }
     }
-    return fn.isEmpty() ? false : evaluateFile(fn, result);
+    if (fn.isEmpty())
+        return false;
+    bool cumulative = m_cumulative;
+    m_cumulative = false;
+    bool ok = evaluateFile(fn, result);
+    m_cumulative = cumulative;
+    return ok;
 }
 
 void ProFileEvaluator::Private::expandPatternHelper(const QString &relName, const QString &absName,