diff --git a/dune/gfe/averageinterface.hh b/dune/gfe/averageinterface.hh
index 3897d5c59992828ebe27508b6ec34c788df0bf36..cf55b7b19ef03fd2af22f2d50a3d6a82c69f9456 100644
--- a/dune/gfe/averageinterface.hh
+++ b/dune/gfe/averageinterface.hh
@@ -468,8 +468,7 @@ void computeTotalForceAndTorque(const BoundaryPatchBase<GridView>& interface,
 // Given a resultant force and torque (from a rod problem), this method computes the corresponding
 // Neumann data for a 3d elasticity problem.
 template <class GridView>
-void computeAveragePressure(const Dune::FieldVector<double,GridView::dimension>& resultantForce,
-                            const Dune::FieldVector<double,GridView::dimension>& resultantTorque,
+void computeAveragePressure(const typename RigidBodyMotion<GridView::dimension>::TangentVector& resultantForceTorque,
                             const BoundaryPatchBase<GridView>& interface,
                             const Dune::FieldVector<double,GridView::dimension>& centerOfTorque,
                             Dune::BlockVector<Dune::FieldVector<double, GridView::dimension> >& pressure)
@@ -599,6 +598,12 @@ void computeAveragePressure(const Dune::FieldVector<double,GridView::dimension>&
     //   Set up and start the interior-point solver
     // /////////////////////////////////////////////////////////////////////////////////////
 
+    Dune::FieldVector<double,dim> resultantForce, resultantTorque;
+    for (int i=0; i<dim; i++) {
+        resultantForce[i]  = resultantForceTorque[i];
+        resultantTorque[i] = resultantForceTorque[dim+i];
+    }
+    
     // Create a new instance of IpoptApplication
     Ipopt::SmartPtr<Ipopt::IpoptApplication> app = new Ipopt::IpoptApplication();