diff --git a/src/core/ProgramOptions.cpp b/src/core/ProgramOptions.cpp
index ab326bcd..6bb23567 100644
--- a/src/core/ProgramOptions.cpp
+++ b/src/core/ProgramOptions.cpp
@@ -251,7 +251,9 @@ void ProgramOptions::init_descriptions() {
                                 ("dsolve", value<int>()->default_value(0), "")
 
                                     ("tm",
-                                     value<std::string>()->default_value("n"),
+                                     value<std::vector<std::string>>()
+                                      ->multitoken()
+                                      ->default_value(std::vector<string>{"n"}, ""),
                                      "")
 
                                         ("csv",
diff --git a/src/core/symbolic_simulate.cpp b/src/core/symbolic_simulate.cpp
index c22961b9..9c263473 100644
--- a/src/core/symbolic_simulate.cpp
+++ b/src/core/symbolic_simulate.cpp
@@ -114,19 +114,22 @@ void output_result(Simulator &ss, Opts &opts) {
     writer.write(*simulator_, of_name, input_file_name + "_diff");
   }
 
-  if (cmdline_options.get<std::vector<string>>("tm").at(0) == "s") {
-    hydla::io::StdProfilePrinter().print_profile(ss.get_profile());
-  } else if (cmdline_options.get<std::vector<string>>("tm").at(0) == "c") {
-    std::string csv_name = cmdline_options.get<std::vector<string>>("tm").at(1);
-    if (csv_name == "") {
-      hydla::io::CsvProfilePrinter().print_profile(ss.get_profile());
-    } else {
-      std::ofstream ofs;
-      ofs.open(csv_name.c_str());
-      hydla::io::CsvProfilePrinter(ofs).print_profile(ss.get_profile());
-      ofs.close();
+  if (not is_master()) {
+    if (cmdline_options.get<std::vector<string>>("tm").at(0) == "s") {
+      hydla::io::StdProfilePrinter().print_profile(ss.get_profile());
+    } else if (cmdline_options.get<std::vector<string>>("tm").at(0) == "c") {
+      std::string csv_name = cmdline_options.get<std::vector<string>>("tm").at(1);
+      if (csv_name == "") {
+        hydla::io::CsvProfilePrinter().print_profile(ss.get_profile());
+      } else {
+        std::ofstream ofs;
+        ofs.open(csv_name.c_str());
+        hydla::io::CsvProfilePrinter(ofs).print_profile(ss.get_profile());
+        ofs.close();
+      }
     }
   }
+  
 }
 
 void trim_front_and_behind_space(std::string &buffer) {