diff --git a/dune/gfe/coupling/rodcontinuumsteklovpoincarestep.hh b/dune/gfe/coupling/rodcontinuumsteklovpoincarestep.hh
index a3f8ce760a1a9a5a4b3be5afa7852795b155f762..ccbebd7f0e03318cbb4e31e5701ffa275e89ab67 100644
--- a/dune/gfe/coupling/rodcontinuumsteklovpoincarestep.hh
+++ b/dune/gfe/coupling/rodcontinuumsteklovpoincarestep.hh
@@ -730,9 +730,20 @@ iterate(std::map<std::pair<std::string,std::string>, RigidBodyMotion<3> >& lambd
     //  Evaluate the Dirichlet-to-Neumann map for the continuum
     ///////////////////////////////////////////////////////////////////
     
-    std::map<std::pair<std::string,std::string>, RigidBodyMotion<3>::TangentVector> continuumForceTorque 
-            = continuumDirichletToNeumannMap("continuum", lambda);
+    std::map<std::pair<std::string,std::string>, RigidBodyMotion<3>::TangentVector> continuumForceTorque; 
 
+    for (ContinuumIterator it = continua_.begin(); it != continua_.end(); ++it) {
+        
+        const std::string& continuumName = it->first;
+    
+        std::map<std::pair<std::string,std::string>, RigidBodyMotion<3>::TangentVector> forceTorque 
+                = continuumDirichletToNeumannMap(continuumName, lambda);
+
+        int oldSize = continuumForceTorque.size();  // for debugging
+        continuumForceTorque.insert(forceTorque.begin(), forceTorque.end());
+        assert(continuumForceTorque.size() == oldSize + forceTorque.size());
+        
+    }
     std::cout << "resultant continuum force and torque: "  << continuumForceTorque[interfaceName]  << std::endl;
 
     ///////////////////////////////////////////////////////////////