diff --git a/dune/gfe/assemblers/geodesicfeassembler.hh b/dune/gfe/assemblers/geodesicfeassembler.hh
index dc7f326d563c0e247e257edcf85cff37b0230e62..2761d102af70c532eb484ab3bf8e442638f907f2 100644
--- a/dune/gfe/assemblers/geodesicfeassembler.hh
+++ b/dune/gfe/assemblers/geodesicfeassembler.hh
@@ -82,17 +82,17 @@ namespace Dune::GFE
      * This is more efficient than computing them separately, because you need the gradient
      * anyway to compute the Riemannian Hessian.
      */
-    virtual void assembleGradientAndHessian(const std::vector<TargetSpace>& sol,
-                                            Dune::BlockVector<Dune::FieldVector<field_type, blocksize> >& gradient,
-                                            Dune::BCRSMatrix<MatrixBlock>& hessian,
-                                            bool computeOccupationPattern=true) const;
+    void assembleGradientAndHessian(const std::vector<TargetSpace>& sol,
+                                    Dune::BlockVector<Dune::FieldVector<field_type, blocksize> >& gradient,
+                                    Dune::BCRSMatrix<MatrixBlock>& hessian,
+                                    bool computeOccupationPattern=true) const;
 
     /** \brief Assemble the gradient */
-    virtual void assembleGradient(const std::vector<TargetSpace>& sol,
-                                  Dune::BlockVector<Dune::FieldVector<double, blocksize> >& grad) const;
+    void assembleGradient(const std::vector<TargetSpace>& sol,
+                          Dune::BlockVector<Dune::FieldVector<double, blocksize> >& grad) const;
 
     /** \brief Compute the energy of a deformation state */
-    virtual double computeEnergy(const std::vector<TargetSpace>& sol) const;
+    double computeEnergy(const std::vector<TargetSpace>& sol) const;
 
     //protected:
     void getNeighborsPerVertex(Dune::MatrixIndexSet& nb) const;