diff --git a/components/files/configurationmanager.cpp b/components/files/configurationmanager.cpp index 4101c4ef54..4ffd9013b7 100644 --- a/components/files/configurationmanager.cpp +++ b/components/files/configurationmanager.cpp @@ -187,7 +187,7 @@ void mergeComposingVariables(boost::program_options::variables_map& first, boost if (description.find_nothrow("replace", false)) { auto replace = second["replace"]; - if (!replace.empty()) + if (!replace.defaulted() && !replace.empty()) { std::vector replaceVector = replace.as>(); replacedVariables.insert(replaceVector.begin(), replaceVector.end()); @@ -206,13 +206,13 @@ void mergeComposingVariables(boost::program_options::variables_map& first, boost continue; } - if (replacedVariables.count(name)) + if (replacedVariables.count(name) || firstPosition->second.defaulted() || firstPosition->second.empty()) { firstPosition->second = second[name]; continue; } - if (second[name].empty()) + if (second[name].defaulted() || second[name].empty()) continue; boost::any& firstValue = firstPosition->second.value();