diff --git a/dune/tectonic/globalnonlinearity.hh b/dune/tectonic/globalnonlinearity.hh
index 356f46bbd7d0091ce90a2b671528ece9b1252c70..dc773dfcead97fa85dccaed234934e50278a5744 100644
--- a/dune/tectonic/globalnonlinearity.hh
+++ b/dune/tectonic/globalnonlinearity.hh
@@ -19,7 +19,7 @@ class GlobalNonlinearity {
   */
   virtual shared_ptr<LocalNonlinearity<dim> const> restriction(int i) const = 0;
 
-  virtual void addHessian(VectorType const &v, MatrixType &hessian) const {
+  void addHessian(VectorType const &v, MatrixType &hessian) const {
     // TODO: is this correct?
     for (size_t i = 0; i < v.size(); ++i) {
       auto res = restriction(i);
@@ -27,7 +27,7 @@ class GlobalNonlinearity {
     }
   }
 
-  virtual void addGradient(VectorType const &v, VectorType &gradient) const {
+  void addGradient(VectorType const &v, VectorType &gradient) const {
     for (size_t i = 0; i < v.size(); ++i) {
       auto res = restriction(i);
       res->addGradient(v[i], gradient[i]);