diff --git a/src/averagedistanceassembler.hh b/src/averagedistanceassembler.hh
index 0dfd06d24e2f8ed1660cfdc00711d2f323ab0c71..18de1a9e1f7adf4ca076640fffcee2068ffc8c20 100644
--- a/src/averagedistanceassembler.hh
+++ b/src/averagedistanceassembler.hh
@@ -53,6 +53,14 @@ public:
                 matrix[i][j] = (i==j);
     }
 
+    void assembleHessian(const TargetSpace& x,
+                         Dune::FieldMatrix<double,size,size>& matrix) const
+    {
+        matrix = 0;
+        for (int i=0; i<dim+1; i++)
+            matrix.axpy(w[i], TargetSpace::secondDerivativeOfDistanceSquaredWRTSecondArgument(coefficients_[i], q));
+    }
+
     const std::vector<TargetSpace> coefficients_;
 
     const std::vector<double> weights_;