diff --git a/ProcessLib/AnalyticalJacobianAssembler.cpp b/ProcessLib/AnalyticalJacobianAssembler.cpp
index 837f867a657a11cfc3a52f60c87bab552b2e7e25..87160943710b742215ab39c85f0e609301531b63 100644
--- a/ProcessLib/AnalyticalJacobianAssembler.cpp
+++ b/ProcessLib/AnalyticalJacobianAssembler.cpp
@@ -8,6 +8,7 @@
  */
 
 #include "AnalyticalJacobianAssembler.h"
+#include "CoupledSolutionsForStaggeredScheme.h"
 #include "LocalAssemblerInterface.h"
 
 namespace ProcessLib
@@ -17,11 +18,24 @@ void AnalyticalJacobianAssembler::assembleWithJacobian(
     std::vector<double> const& local_x, std::vector<double> const& local_xdot,
     const double dxdot_dx, const double dx_dx,
     std::vector<double>& local_M_data, std::vector<double>& local_K_data,
-    std::vector<double>& local_b_data,
-    std::vector<double>& local_Jac_data)
+    std::vector<double>& local_b_data, std::vector<double>& local_Jac_data)
 {
     local_assembler.assembleWithJacobian(t, local_x, local_xdot, dxdot_dx,
                                          dx_dx, local_M_data, local_K_data,
                                          local_b_data, local_Jac_data);
 }
+
+void AnalyticalJacobianAssembler::assembleWithJacobianAndCoupling(
+    LocalAssemblerInterface& local_assembler, double const t,
+    std::vector<double> const& local_xdot, const double dxdot_dx,
+    const double dx_dx, std::vector<double>& local_M_data,
+    std::vector<double>& local_K_data, std::vector<double>& local_b_data,
+    std::vector<double>& local_Jac_data,
+    LocalCoupledSolutions const& local_coupled_solutions)
+{
+    local_assembler.assembleWithJacobianAndCoupling(
+        t, local_xdot, dxdot_dx, dx_dx, local_M_data, local_K_data,
+        local_b_data, local_Jac_data, local_coupled_solutions);
+}
+
 }  // ProcessLib
diff --git a/ProcessLib/AnalyticalJacobianAssembler.h b/ProcessLib/AnalyticalJacobianAssembler.h
index 19da3228c0b387b12fb19e23d44140650d2ef432..45c6d01f7e1c5a2bbe7ed0edaf5f53b6fac12ca6 100644
--- a/ProcessLib/AnalyticalJacobianAssembler.h
+++ b/ProcessLib/AnalyticalJacobianAssembler.h
@@ -18,6 +18,9 @@ class ConfigTree;
 
 namespace ProcessLib
 {
+
+struct LocalCoupledSolutions;
+
 //! Assembles the Jacobian matrix using a provided "analytical" method from the
 //! local assembler.
 class AnalyticalJacobianAssembler final : public AbstractJacobianAssembler
@@ -34,6 +37,14 @@ public:
         const double dx_dx, std::vector<double>& local_M_data,
         std::vector<double>& local_K_data, std::vector<double>& local_b_data,
         std::vector<double>& local_Jac_data) override;
+
+    void assembleWithJacobianAndCoupling(
+        LocalAssemblerInterface& local_assembler,
+        double const t, std::vector<double> const& local_xdot,
+        const double dxdot_dx, const double dx_dx,
+        std::vector<double>& local_M_data, std::vector<double>& local_K_data,
+        std::vector<double>& local_b_data, std::vector<double>& local_Jac_data,
+        LocalCoupledSolutions const& local_coupled_solutions) override;
 };
 
 }  // ProcessLib