diff --git a/ProcessLib/Process.cpp b/ProcessLib/Process.cpp
index a5e92bb5888ff4fad14b9f445e8ff73ab6b54fef..b73d1fa8dc1603ef87197eabd4b3edda1acc9afd 100644
--- a/ProcessLib/Process.cpp
+++ b/ProcessLib/Process.cpp
@@ -356,11 +356,12 @@ void Process::postNonLinearSolver(GlobalVector const& x, const double t,
     postNonLinearSolverConcreteProcess(x, t, process_id);
 }
 
-void Process::computeSecondaryVariable(const double t, GlobalVector const& x)
+void Process::computeSecondaryVariable(const double t, GlobalVector const& x,
+                                       int const process_id)
 {
     MathLib::LinAlg::setLocalAccessibleVector(x);
 
-    computeSecondaryVariableConcrete(t, x);
+    computeSecondaryVariableConcrete(t, x, process_id);
 }
 
 void Process::preIteration(const unsigned iter, const GlobalVector& x)
diff --git a/ProcessLib/Process.h b/ProcessLib/Process.h
index 9e33322967d23bbf16f8f66a7035e03a8daf99bb..6c4ab0cfbab02bf259fa9080e6ebd1452649d03d 100644
--- a/ProcessLib/Process.h
+++ b/ProcessLib/Process.h
@@ -71,7 +71,8 @@ public:
     void preIteration(const unsigned iter, GlobalVector const& x) final;
 
     /// compute secondary variables for the coupled equations or for output.
-    void computeSecondaryVariable(const double t, GlobalVector const& x);
+    void computeSecondaryVariable(const double t, GlobalVector const& x,
+                                  int const process_id);
 
     NumLib::IterationResult postIteration(GlobalVector const& x) final;
 
@@ -213,7 +214,8 @@ private:
     }
 
     virtual void computeSecondaryVariableConcrete(const double /*t*/,
-                                                  GlobalVector const& /*x*/)
+                                                  GlobalVector const& /*x*/,
+                                                  int const /*process_id*/)
     {
     }
 
diff --git a/ProcessLib/UncoupledProcessesTimeLoop.cpp b/ProcessLib/UncoupledProcessesTimeLoop.cpp
index 19450c9ea720cbb8a64d332d6de21ec29fd73ae8..b69bbe0b7fd7d75ff48fd17deeb608bb55272f86 100644
--- a/ProcessLib/UncoupledProcessesTimeLoop.cpp
+++ b/ProcessLib/UncoupledProcessesTimeLoop.cpp
@@ -648,7 +648,7 @@ bool UncoupledProcessesTimeLoop::solveUncoupledEquationSystems(
             process_id, x, timestep_id, t, dt, *process_data, *_output);
         process_data->nonlinear_solver_converged = nonlinear_solver_succeeded;
         pcs.postTimestep(x, t, dt, process_id);
-        pcs.computeSecondaryVariable(t, x);
+        pcs.computeSecondaryVariable(t, x, process_id);
 
         INFO("[time] Solving process #%u took %g s in time step #%u ",
              process_id, time_timestep_process.elapsed(), timestep_id);
@@ -822,7 +822,7 @@ bool UncoupledProcessesTimeLoop::solveCoupledEquationSystemsByStaggeredScheme(
         auto& pcs = process_data->process;
         auto& x = *_process_solutions[process_id];
         pcs.postTimestep(x, t, dt, process_id);
-        pcs.computeSecondaryVariable(t, x);
+        pcs.computeSecondaryVariable(t, x, process_id);
 
         ++process_id;
     }
@@ -858,7 +858,7 @@ void UncoupledProcessesTimeLoop::outputSolutions(
                             process_id);
             // Update secondary variables, which might be uninitialized, before
             // output.
-            pcs.computeSecondaryVariable(_start_time, x);
+            pcs.computeSecondaryVariable(_start_time, x, process_id);
         }
         if (is_staggered_coupling)
         {