diff --git a/src/Statement.cc b/src/Statement.cc
index b4c357f442559332bde3c11e3044f31a18e25c1b..f21c26ca0b1b5700bda958d5101f0dc847649914 100644
--- a/src/Statement.cc
+++ b/src/Statement.cc
@@ -185,13 +185,14 @@ void
 OptionsList::writeOutputCommon(ostream &output, const string &option_group) const
 {
   for (const auto &[name, val] : options)
+    auto name1 = name;
     std::visit([&]<class T>(const T &v)
     {
       if constexpr(is_same_v<T, SymbolListVal>)
-        v.writeOutput(option_group + "." + name, output);
+        v.writeOutput(option_group + "." + name1, output);
       else
         {
-          output << option_group << "." << name << " = ";
+          output << option_group << "." << name1 << " = ";
           if constexpr(is_same_v<T, NumVal> || is_same_v<T, DateVal>)
             output << v;
           else if constexpr(is_same_v<T, pair<string, string>>)