diff --git a/ProcessLib/Output/Output.cpp b/ProcessLib/Output/Output.cpp
index 9adc73f7948a4900201363449bb055c49e5cac01..e480279bc24ef3569e7b47061cfb07569492e90a 100644
--- a/ProcessLib/Output/Output.cpp
+++ b/ProcessLib/Output/Output.cpp
@@ -426,6 +426,20 @@ std::vector<std::string> Output::getFileNamesForOutput() const
     return output_names;
 }
 
+std::vector<double> calculateUniqueFixedTimesForAllOutputs(
+    std::vector<Output> const& outputs)
+{
+    std::vector<double> fixed_times;
+    for (auto const& output : outputs)
+    {
+        auto const& output_fixed_times = output.getFixedOutputTimes();
+        fixed_times.insert(fixed_times.end(), output_fixed_times.begin(),
+                           output_fixed_times.end());
+    }
+    BaseLib::makeVectorUnique(fixed_times);
+    return fixed_times;
+}
+
 std::ostream& operator<<(std::ostream& os, Output const& output)
 {
     os << "Output::_output_data_specification:\t"
diff --git a/ProcessLib/Output/Output.h b/ProcessLib/Output/Output.h
index 8cb8516d42effa9885a2963a41bf118a7506acd6..339df9d98af572345d04280c7ba5adfb0148bf94 100644
--- a/ProcessLib/Output/Output.h
+++ b/ProcessLib/Output/Output.h
@@ -126,4 +126,7 @@ private:
         _do_not_project_from_bulk_mesh_to_submeshes;
 };
 
+std::vector<double> calculateUniqueFixedTimesForAllOutputs(
+    std::vector<Output> const& outputs);
+
 }  // namespace ProcessLib
diff --git a/ProcessLib/TimeLoop.cpp b/ProcessLib/TimeLoop.cpp
index c293b926202ce663382811b25c549cd441aba2f5..8a3a40f02aa83e27fa9d46ab5a9ad4823876cc4e 100644
--- a/ProcessLib/TimeLoop.cpp
+++ b/ProcessLib/TimeLoop.cpp
@@ -473,22 +473,6 @@ std::pair<double, bool> TimeLoop::computeTimeStepping(
     return {dt, last_step_rejected};
 }
 
-std::vector<double> calculateUniqueFixedTimesForAllOutputs(
-    std::vector<Output> const& outputs)
-{
-    std::vector<double> fixed_times;
-    for (auto const& output : outputs)
-    {
-        auto const& output_fixed_times = output.getFixedOutputTimes();
-        fixed_times.insert(fixed_times.end(), output_fixed_times.begin(),
-                           output_fixed_times.end());
-    }
-    std::sort(fixed_times.begin(), fixed_times.end());
-    auto const it = std::unique(fixed_times.begin(), fixed_times.end());
-    fixed_times.erase(it, fixed_times.end());
-    return fixed_times;
-}
-
 std::vector<std::function<double(double, double)>>
 TimeLoop::generateOutputTimeStepConstraints(
     std::vector<double>&& fixed_times) const