diff --git a/dirneucoupling.cc b/dirneucoupling.cc
index e44ea4dc4d2a69dc833a24ae1d76f3438601c33c..1678e342ca16e98462954ffa12cbd25a546f32aa 100644
--- a/dirneucoupling.cc
+++ b/dirneucoupling.cc
@@ -460,7 +460,6 @@ int main (int argc, char *argv[]) try
                                                                                                   &rodAssembler,
                                                                                                   &rodLocalStiffness,
                                                                                                   &rodSolver,
-                                                                                                  &complex.couplings_[interfaceName].continuumInterfaceBoundary_,
                                                                                                   &stiffnessMatrix3d,
                                                                                                   &dirichletValues.back(),
                                                                                                   solver,
diff --git a/dune/gfe/coupling/rodcontinuumsteklovpoincarestep.hh b/dune/gfe/coupling/rodcontinuumsteklovpoincarestep.hh
index dd1d6cd22e8a454c06206585a12b7f4b676e6bff..14dd9305d2f90a4da7fedbca3c648fbf7eca392d 100644
--- a/dune/gfe/coupling/rodcontinuumsteklovpoincarestep.hh
+++ b/dune/gfe/coupling/rodcontinuumsteklovpoincarestep.hh
@@ -275,7 +275,6 @@ public:
                                     RodAssembler<typename RodGridType::LeafGridView,3>* rodAssembler,
                                     RodLocalStiffness<typename RodGridType::LeafGridView,double>* rodLocalStiffness,
                                     RiemannianTrustRegionSolver<RodGridType,RigidBodyMotion<3> >* rodSolver,
-                                    const LeafBoundaryPatch<ContinuumGridType>* interfaceBoundary,
                                     const MatrixType* stiffnessMatrix3d,
                                     const VectorType* dirichletValues,
                                     const Dune::shared_ptr< ::LoopSolver<VectorType> > solver,
@@ -290,7 +289,6 @@ public:
         rodAssembler_(rodAssembler),
         rodLocalStiffness_(rodLocalStiffness),
         rodSolver_(rodSolver),
-        interfaceBoundary_(interfaceBoundary),
         stiffnessMatrix3d_(stiffnessMatrix3d),
         dirichletValues_(dirichletValues),
         solver_(solver),
@@ -345,8 +343,6 @@ private:
     //  Data members related to the continuum problems
     //////////////////////////////////////////////////////////////////
 
-    const LeafBoundaryPatch<ContinuumGridType>* interfaceBoundary_;
-    
     const MatrixType* stiffnessMatrix3d_;
     
     const VectorType* dirichletValues_;
@@ -435,6 +431,8 @@ void RodContinuumSteklovPoincareStep<RodGridType,ContinuumGridType>::iterate(Rig
     ///////////////////////////////////////////////////////////////////
     //  Evaluate the Dirichlet-to-Neumann map for the continuum
     ///////////////////////////////////////////////////////////////////
+              
+    std::pair<std::string,std::string> interfaceName = std::make_pair("rod", "continuum");
     
     VectorType& x3d = continuumSubdomainSolutions_["continuum"];
     x3d.resize(complex_.continuumGrids_["continuum"]->size(dim));
@@ -447,7 +445,7 @@ void RodContinuumSteklovPoincareStep<RodGridType,ContinuumGridType>::iterate(Rig
     relativeMovement.q.invert();
     relativeMovement.q = lambda.q.mult(relativeMovement.q);
             
-    setRotation(*interfaceBoundary_, x3d, relativeMovement);
+    setRotation(complex_.couplings_[interfaceName].continuumInterfaceBoundary_, x3d, relativeMovement);
     
     // Right hand side vector: currently without Neumann and volume terms
     VectorType rhs3d(x3d.size());
@@ -472,7 +470,7 @@ void RodContinuumSteklovPoincareStep<RodGridType,ContinuumGridType>::iterate(Rig
     stiffnessMatrix3d_->mmv(x3d,residual);
             
     /** \todo Is referenceInterface.r the correct center of rotation? */
-    computeTotalForceAndTorque(*interfaceBoundary_, residual, referenceInterface_.r,
+    computeTotalForceAndTorque(complex_.couplings_[interfaceName].continuumInterfaceBoundary_, residual, referenceInterface_.r,
                                continuumForce, continuumTorque);
             
     ///////////////////////////////////////////////////////////////
@@ -499,7 +497,7 @@ void RodContinuumSteklovPoincareStep<RodGridType,ContinuumGridType>::iterate(Rig
         ////////////////////////////////////////////////////////////////////
                 
         LinearizedContinuumNeumannToDirichletMap<typename ContinuumGridType::LeafGridView,MatrixType,VectorType>
-                linContNtDMap(*interfaceBoundary_,
+                linContNtDMap(complex_.couplings_[interfaceName].continuumInterfaceBoundary_,
                               rhs3d,
                               *dirichletValues_,
                               localAssembler_,
@@ -529,7 +527,7 @@ void RodContinuumSteklovPoincareStep<RodGridType,ContinuumGridType>::iterate(Rig
         ////////////////////////////////////////////////////////////////////
 
         LinearizedContinuumNeumannToDirichletMap<typename ContinuumGridType::LeafGridView,MatrixType,VectorType>
-                linContNtDMap(*interfaceBoundary_,
+                linContNtDMap(complex_.couplings_[interfaceName].continuumInterfaceBoundary_,
                               rhs3d,
                               *dirichletValues_,
                               localAssembler_,