diff --git a/BaseLib/FileTools.cpp b/BaseLib/FileTools.cpp
index feac1373cf28da3ba17713a655ae8ce31066757f..7bacc0dfb93241e62dc2d5022ff5113862c921bc 100644
--- a/BaseLib/FileTools.cpp
+++ b/BaseLib/FileTools.cpp
@@ -37,6 +37,15 @@ bool IsFileExisting(const std::string &strFilename)
     return fs::exists(fs::path(strFilename));
 }
 
+std::string constructFileName(std::string const& prefix,
+                              int const process_id,
+                              int const timestep,
+                              double const t)
+{
+    return prefix + "_pcs_" + std::to_string(process_id) + "_ts_" +
+           std::to_string(timestep) + "_t_" + std::to_string(t);
+}
+
 double swapEndianness(double const& v)
 {
     union
diff --git a/BaseLib/FileTools.h b/BaseLib/FileTools.h
index daf67284e3971cbb4ccefe0e40470ca1223da07e..d8c3e9d5738d21d4cdb29e44a8eadfd4e1dfaa6e 100644
--- a/BaseLib/FileTools.h
+++ b/BaseLib/FileTools.h
@@ -29,6 +29,11 @@ namespace BaseLib
  */
 bool IsFileExisting(const std::string &strFilename);
 
+std::string constructFileName(std::string const& prefix,
+                              int const process_id,
+                              int const timestep,
+                              double const t);
+
 /**
  * \brief write value as binary into the given output stream
  *
diff --git a/ProcessLib/Output/Output.cpp b/ProcessLib/Output/Output.cpp
index 029a941d71c94ef77901d7821a60df8a6abff388..e0e907a69c8d8634d8c9dd31e8495a738d25e347 100644
--- a/ProcessLib/Output/Output.cpp
+++ b/ProcessLib/Output/Output.cpp
@@ -44,15 +44,6 @@ int convertVtkDataMode(std::string const& data_mode)
         "Binary, or Appended.",
         data_mode);
 }
-
-std::string constructFileName(std::string const& prefix,
-                              int const process_id,
-                              int const timestep,
-                              double const t)
-{
-    return prefix + "_pcs_" + std::to_string(process_id) + "_ts_" +
-           std::to_string(timestep) + "_t_" + std::to_string(t);
-}
 }  // namespace
 
 namespace ProcessLib
@@ -156,7 +147,8 @@ struct Output::OutputFile
     OutputFile(std::string const& directory, std::string const& prefix,
                int const process_id, int const timestep, double const t,
                int const data_mode_, bool const compression_)
-        : name(constructFileName(prefix, process_id, timestep, t) + ".vtu"),
+        : name(BaseLib::constructFileName(prefix, process_id, timestep, t) +
+               ".vtu"),
           path(BaseLib::joinPaths(directory, name)),
           data_mode(data_mode_),
           compression(compression_)
@@ -372,7 +364,8 @@ void Output::doOutputNonlinearIteration(Process const& process,
     findProcessData(process, process_id);
 
     std::string const output_file_name =
-        constructFileName(_output_file_prefix, process_id, timestep, t) +
+        BaseLib::constructFileName(_output_file_prefix, process_id, timestep,
+                                   t) +
         "_nliter_" + std::to_string(iteration) + ".vtu";
     std::string const output_file_path =
         BaseLib::joinPaths(_output_directory, output_file_name);