diff --git a/ProcessLib/ThermalTwoPhaseFlowWithPP/ThermalTwoPhaseFlowWithPPProcess.cpp b/ProcessLib/ThermalTwoPhaseFlowWithPP/ThermalTwoPhaseFlowWithPPProcess.cpp
index ca2a4a197b3ea3f6f3249a0011409c4f870a5c8e..7b405f569031324621916c24224b57b8180c31df 100644
--- a/ProcessLib/ThermalTwoPhaseFlowWithPP/ThermalTwoPhaseFlowWithPPProcess.cpp
+++ b/ProcessLib/ThermalTwoPhaseFlowWithPP/ThermalTwoPhaseFlowWithPPProcess.cpp
@@ -96,6 +96,8 @@ void ThermalTwoPhaseFlowWithPPProcess::assembleConcreteProcess(
         _global_assembler, &VectorMatrixAssembler::assemble, _local_assemblers,
         pv.getActiveElementIDs(), dof_table, t, dt, x, x_prev, process_id, M, K,
         b);
+
+    _global_output(t, process_id, M, K, b);
 }
 
 void ThermalTwoPhaseFlowWithPPProcess::assembleWithJacobianConcreteProcess(
@@ -114,7 +116,10 @@ void ThermalTwoPhaseFlowWithPPProcess::assembleWithJacobianConcreteProcess(
         _global_assembler, &VectorMatrixAssembler::assembleWithJacobian,
         _local_assemblers, pv.getActiveElementIDs(), dof_table, t, dt, x,
         x_prev, process_id, M, K, b, Jac);
+
+    _global_output(t, process_id, M, K, b, &Jac);
 }
+
 void ThermalTwoPhaseFlowWithPPProcess::preTimestepConcreteProcess(
     std::vector<GlobalVector*> const& x, double const t, double const delta_t,
     const int process_id)
diff --git a/ProcessLib/ThermalTwoPhaseFlowWithPP/ThermalTwoPhaseFlowWithPPProcess.h b/ProcessLib/ThermalTwoPhaseFlowWithPP/ThermalTwoPhaseFlowWithPPProcess.h
index d887c8bb16a0d5da7eefd6101ce18f8c8da56623..d58e6fc1405bbe62abb3eaaef6c90cf61d719484 100644
--- a/ProcessLib/ThermalTwoPhaseFlowWithPP/ThermalTwoPhaseFlowWithPPProcess.h
+++ b/ProcessLib/ThermalTwoPhaseFlowWithPP/ThermalTwoPhaseFlowWithPPProcess.h
@@ -83,6 +83,8 @@ private:
     std::vector<
         std::unique_ptr<ThermalTwoPhaseFlowWithPPLocalAssemblerInterface>>
         _local_assemblers;
+
+    Assembly::GlobalMatrixOutput _global_output;
 };
 
 }  // namespace ThermalTwoPhaseFlowWithPP