diff --git a/Tests/NumLib/TestExtrapolation.cpp b/Tests/NumLib/TestExtrapolation.cpp
index a17d23fa0e2c367ffe1d789093e764531ba8eb3d..075556d43ce5aec93cdad88f370e124ccfd2264e 100644
--- a/Tests/NumLib/TestExtrapolation.cpp
+++ b/Tests/NumLib/TestExtrapolation.cpp
@@ -55,14 +55,25 @@ public:
         std::vector<double> const& local_nodal_values) = 0;
 
     virtual std::vector<double> const& getStoredQuantity(
+        const double /*t*/,
+        GlobalVector const& /*current_solution*/,
+        NumLib::LocalToGlobalIndexMap const& /*dof_table*/,
         std::vector<double>& /*cache*/) const = 0;
 
     virtual std::vector<double> const& getDerivedQuantity(
+        const double /*t*/,
+        GlobalVector const& /*current_solution*/,
+        NumLib::LocalToGlobalIndexMap const& /*dof_table*/,
         std::vector<double>& cache) const = 0;
 };
 
 using IntegrationPointValuesMethod = std::vector<double> const& (
-    LocalAssemblerDataInterface::*)(std::vector<double>&)const;
+    LocalAssemblerDataInterface::*)(const double /*t*/,
+                                    GlobalVector const& /*current_solution*/,
+                                    NumLib::
+                                        LocalToGlobalIndexMap const& /*dof_table*/
+                                    ,
+                                    std::vector<double>& /*cache*/) const;
 
 template <typename ShapeFunction, typename IntegrationMethod,
           unsigned GlobalDim>
@@ -95,12 +106,18 @@ public:
     }
 
     std::vector<double> const& getStoredQuantity(
+        const double /*t*/,
+        GlobalVector const& /*current_solution*/,
+        NumLib::LocalToGlobalIndexMap const& /*dof_table*/,
         std::vector<double>& /*cache*/) const override
     {
         return _int_pt_values;
     }
 
     std::vector<double> const& getDerivedQuantity(
+        const double /*t*/,
+        GlobalVector const& /*current_solution*/,
+        NumLib::LocalToGlobalIndexMap const& /*dof_table*/,
         std::vector<double>& cache) const override
     {
         cache.clear();
@@ -169,13 +186,15 @@ public:
     }
 
     std::pair<GlobalVector const*, GlobalVector const*> extrapolate(
-        IntegrationPointValuesMethod method) const
+        IntegrationPointValuesMethod method, const double t,
+        const GlobalVector& x) const
     {
         auto const extrapolatables =
             NumLib::makeExtrapolatable(_local_assemblers, method);
 
-        _extrapolator->extrapolate(extrapolatables);
-        _extrapolator->calculateResiduals(extrapolatables);
+        _extrapolator->extrapolate(1, extrapolatables, t, x, *_dof_table);
+        _extrapolator->calculateResiduals(1, extrapolatables, t, x,
+                                          *_dof_table);
 
         return {&_extrapolator->getNodalValues(),
                 &_extrapolator->getElementResiduals()};
@@ -201,7 +220,10 @@ void extrapolate(TestProcess const& pcs, IntegrationPointValuesMethod method,
     auto const tolerance_dx  = 30.0 * std::numeric_limits<double>::epsilon();
     auto const tolerance_res = 15.0 * std::numeric_limits<double>::epsilon();
 
-    auto const result = pcs.extrapolate(method);
+    const double t = 0.0;
+
+    auto const result =
+        pcs.extrapolate(method, t, expected_extrapolated_global_nodal_values);
     auto const& x_extra = *result.first;
     auto const& residual = *result.second;