diff --git a/dirneucoupling.cc b/dirneucoupling.cc
index e7d2a02f7bfd91f38e5eed8b4caf9c2caca50707..da870fccce1db65c359437922ef897cb2120b22b 100644
--- a/dirneucoupling.cc
+++ b/dirneucoupling.cc
@@ -385,9 +385,16 @@ int main (int argc, char *argv[]) try
             //   Extract Neumann values and transfer it to the 3d object
             // ///////////////////////////////////////////////////////////
 
+            RigidBodyMotion<3>::TangentVector resultantForceTorque 
+                    = rodAssembler.getResultantForce(complex.couplings_[interfaceName].rodInterfaceBoundary_, rodX);
+            
+            // separate into translational and rotational part
             FieldVector<double,dim> resultantForce, resultantTorque;
-            resultantForce  = rodAssembler.getResultantForce(complex.couplings_[interfaceName].rodInterfaceBoundary_, rodX, resultantTorque);
-
+            for (int j=0; j<dim; j++) {
+                resultantForce[j]  = resultantForceTorque[j];
+                resultantTorque[j] = resultantForceTorque[dim+j];
+            }
+            
             // Flip orientation
             resultantForce  *= -1;
             resultantTorque *= -1;
diff --git a/dune/gfe/coupling/rodcontinuumsteklovpoincarestep.hh b/dune/gfe/coupling/rodcontinuumsteklovpoincarestep.hh
index a05d71a0d6b5d6d04b2379078e6b51674edd444b..abac9b7c15a5de351fcdbee96a5f6f1a49bf1faf 100644
--- a/dune/gfe/coupling/rodcontinuumsteklovpoincarestep.hh
+++ b/dune/gfe/coupling/rodcontinuumsteklovpoincarestep.hh
@@ -603,17 +603,7 @@ rodDirichletToNeumannMap(const std::string& rodName,
         
         const LeafBoundaryPatch<RodGridType>& couplingBoundary = complex_.coupling(couplingName).rodInterfaceBoundary_;
 
-        /** \todo Hack: this should be a tangent vector right away */
-        Dune::FieldVector<double,dim> rodForce, rodTorque;
-        rodForce = rod(rodName).assembler_->getResultantForce(couplingBoundary, rodX, rodTorque);
-    
-        dune_static_assert(RigidBodyMotion<3>::TangentVector::size == 2*dim, "TangentVector does not have appropriate size");
-        result[couplingName][0] = rodForce[0];
-        result[couplingName][1] = rodForce[1];
-        result[couplingName][2] = rodForce[2];
-        result[couplingName][3] = rodTorque[0];
-        result[couplingName][4] = rodTorque[1];
-        result[couplingName][5] = rodTorque[2];
+        result[couplingName] = rod(rodName).assembler_->getResultantForce(couplingBoundary, rodX);
     }
     
     return result;