diff --git a/ProcessLib/ThermoRichardsMechanics/LocalAssemblerInterface.h b/ProcessLib/ThermoRichardsMechanics/LocalAssemblerInterface.h
index 861d79a524373d686a78f50d6b844350c3e11478..426265183b3371eb7bd609389429c6247a520f71 100644
--- a/ProcessLib/ThermoRichardsMechanics/LocalAssemblerInterface.h
+++ b/ProcessLib/ThermoRichardsMechanics/LocalAssemblerInterface.h
@@ -374,6 +374,22 @@ struct LocalAssemblerInterface : public ProcessLib::LocalAssemblerInterface,
         return *material_states_[integration_point].material_state_variables;
     }
 
+    void postTimestepConcrete(Eigen::VectorXd const& /*local_x*/,
+                              double const /*t*/,
+                              double const /*dt*/) override
+    {
+        unsigned const n_integration_points =
+            integration_method_.getNumberOfPoints();
+
+        for (unsigned ip = 0; ip < n_integration_points; ip++)
+        {
+            // TODO re-evaluate part of the assembly in order to be consistent?
+            material_states_[ip].pushBackState();
+        }
+
+        prev_states_ = current_states_;
+    }
+
 protected:
     ThermoRichardsMechanicsProcessData<DisplacementDim>& process_data_;
 
diff --git a/ProcessLib/ThermoRichardsMechanics/ThermoRichardsMechanicsFEM.h b/ProcessLib/ThermoRichardsMechanics/ThermoRichardsMechanicsFEM.h
index 88eb43544c5e0082f8c3abae39e468dc5660c137..e90d17447464798b97df90ccb7953216f124155b 100644
--- a/ProcessLib/ThermoRichardsMechanics/ThermoRichardsMechanicsFEM.h
+++ b/ProcessLib/ThermoRichardsMechanics/ThermoRichardsMechanicsFEM.h
@@ -282,22 +282,6 @@ public:
         this->prev_states_ = this->current_states_;
     }
 
-    void postTimestepConcrete(Eigen::VectorXd const& /*local_x*/,
-                              double const /*t*/,
-                              double const /*dt*/) override
-    {
-        unsigned const n_integration_points =
-            this->integration_method_.getNumberOfPoints();
-
-        for (unsigned ip = 0; ip < n_integration_points; ip++)
-        {
-            // TODO re-evaluate part of the assembly in order to be consistent?
-            this->material_states_[ip].pushBackState();
-        }
-
-        this->prev_states_ = this->current_states_;
-    }
-
     void computeSecondaryVariableConcrete(
         double const t, double const dt, Eigen::VectorXd const& local_x,
         Eigen::VectorXd const& local_x_dot) override;