diff --git a/src/shared/proparser/profileevaluator.cpp b/src/shared/proparser/profileevaluator.cpp
index 34e1bc375928027b37d31e762a68f1c3bbb66b62..404602e277f5eb485aa5d05a524b83f6847dc740 100644
--- a/src/shared/proparser/profileevaluator.cpp
+++ b/src/shared/proparser/profileevaluator.cpp
@@ -1782,7 +1782,10 @@ bool ProFileEvaluator::Private::evaluateConditionalFunction(
             // ### this breaks if we have include(c:/reallystupid.pri) but IMHO that's really bad style.
             QDir currentProPath(currentDirectory());
             fileName = QDir::cleanPath(currentProPath.absoluteFilePath(fileName));
-            return evaluateFile(fileName);
+            State sts = m_sts;
+            bool ok = evaluateFile(fileName);
+            m_sts = sts;
+            return ok;
         }
         case T_LOAD: {
             if (m_skipLevel && !m_cumulative)