diff --git a/ProcessLib/LocalAssemblerInterface.cpp b/ProcessLib/LocalAssemblerInterface.cpp
index 98c59588e90c2d5dfc145debf987455c67a3e9f2..d243cba625eb6672ad47e4803d3ee0f7ddde5367 100644
--- a/ProcessLib/LocalAssemblerInterface.cpp
+++ b/ProcessLib/LocalAssemblerInterface.cpp
@@ -80,12 +80,13 @@ void LocalAssemblerInterface::computeSecondaryVariable(
 
 void LocalAssemblerInterface::setInitialConditions(
     std::size_t const mesh_item_id,
-    NumLib::LocalToGlobalIndexMap const& dof_table, GlobalVector const& x)
+    NumLib::LocalToGlobalIndexMap const& dof_table, GlobalVector const& x,
+    double const t)
 {
     auto const indices = NumLib::getIndices(mesh_item_id, dof_table);
     auto const local_x = x.get(indices);
 
-    setInitialConditionsConcrete(local_x);
+    setInitialConditionsConcrete(local_x, t);
 }
 
 void LocalAssemblerInterface::preTimestep(
diff --git a/ProcessLib/LocalAssemblerInterface.h b/ProcessLib/LocalAssemblerInterface.h
index 02cb41bcd1b20f2c9c35893eae3a751afed69a64..4fcca3d1e8cd3abff1210b9ad3df230f63af6c32 100644
--- a/ProcessLib/LocalAssemblerInterface.h
+++ b/ProcessLib/LocalAssemblerInterface.h
@@ -36,7 +36,8 @@ public:
 
     virtual void setInitialConditions(
         std::size_t const mesh_item_id,
-        NumLib::LocalToGlobalIndexMap const& dof_table, GlobalVector const& x);
+        NumLib::LocalToGlobalIndexMap const& dof_table, GlobalVector const& x,
+        double const t);
 
     virtual void preAssemble(double const /*t*/,
                              std::vector<double> const& /*local_x*/){};
@@ -101,7 +102,7 @@ public:
 
 private:
     virtual void setInitialConditionsConcrete(
-        std::vector<double> const& /*local_x*/)
+        std::vector<double> const& /*local_x*/, double const /*t*/)
     {
     }
 
diff --git a/ProcessLib/Process.cpp b/ProcessLib/Process.cpp
index 57ef8b47d93829813f8a84e88a6888b1f72c04d9..f741a461fd543b142c8cd87c0038087f79aff8dd 100644
--- a/ProcessLib/Process.cpp
+++ b/ProcessLib/Process.cpp
@@ -164,7 +164,7 @@ void Process::setInitialConditions(const int process_id, double const t,
             }
         }
     }
-    setInitialConditionsConcreteProcess(x);
+    setInitialConditionsConcreteProcess(x, t);
 }
 
 MathLib::MatrixSpecifications Process::getMatrixSpecifications(
diff --git a/ProcessLib/Process.h b/ProcessLib/Process.h
index 44c099591af6ce7117ef48f12a2990677552fc88..44adb9b24581d3aeab1ca8c87b00977d8b5655b6 100644
--- a/ProcessLib/Process.h
+++ b/ProcessLib/Process.h
@@ -176,7 +176,8 @@ private:
     /// processes. It is called by initialize().
     virtual void initializeBoundaryConditions();
 
-    virtual void setInitialConditionsConcreteProcess(GlobalVector const& /*x*/)
+    virtual void setInitialConditionsConcreteProcess(GlobalVector const& /*x*/,
+                                                     double const /*t*/)
     {
     }