diff --git a/dune/tectonic/frictionpotential.hh b/dune/tectonic/frictionpotential.hh
index 35e7f693b0db354216d6eba2288f6c54480857e9..e2a8c87f5c5751ea6c178a0fb893bca0635b132f 100644
--- a/dune/tectonic/frictionpotential.hh
+++ b/dune/tectonic/frictionpotential.hh
@@ -91,7 +91,7 @@ class FrictionPotential : public FrictionPotentialWrapper {
 
 private:
   double const coefficientProduct;
-  double const V_m;
+  double V_m;
 };
 
 class TrivialFunction : public FrictionPotentialWrapper {
diff --git a/dune/tectonic/globalnonlinearity.hh b/dune/tectonic/globalnonlinearity.hh
index 0a1c53dc40ae75521d155e4b67efbe61bdc77022..246cc7f1f4f724d28612b98bd1a9b60044e00e36 100644
--- a/dune/tectonic/globalnonlinearity.hh
+++ b/dune/tectonic/globalnonlinearity.hh
@@ -31,7 +31,7 @@ class GlobalNonlinearity {
   /*
     Return a restriction of the outer function to the i'th node.
   */
-  virtual shared_ptr<LocalFriction<dim> const> restriction(int i) const = 0;
+  virtual shared_ptr<LocalFriction<dim>> restriction(int i) const = 0;
 
   void addHessian(VectorType const &v, MatrixType &hessian) const {
     for (size_t i = 0; i < v.size(); ++i) {
diff --git a/dune/tectonic/globalruinanonlinearity.hh b/dune/tectonic/globalruinanonlinearity.hh
index 0181c61966603b4e455bfbc1e4c4ecee84ca03b5..42875a88b298aa62513c7484ae6346375e050e79 100644
--- a/dune/tectonic/globalruinanonlinearity.hh
+++ b/dune/tectonic/globalruinanonlinearity.hh
@@ -27,26 +27,26 @@ class GlobalRuinaNonlinearity
                           dataref nodalIntegrals, FrictionData const &fd,
                           dataref state)
       : restrictions(nodalIntegrals.size()) {
-    auto trivialNonlinearity = make_shared<LocalFriction<dim> const>(
-        make_shared<TrivialFunction const>());
+    auto trivialNonlinearity =
+        make_shared<LocalFriction<dim>>(make_shared<TrivialFunction>());
     for (size_t i = 0; i < restrictions.size(); ++i) {
-      restrictions[i] = frictionalNodes[i][0]
-                            ? trivialNonlinearity
-                            : make_shared<LocalFriction<dim> const>(
-                                  make_shared<FrictionPotential const>(
-                                      nodalIntegrals[i], fd, state[i]));
+      restrictions[i] =
+          frictionalNodes[i][0]
+              ? trivialNonlinearity
+              : make_shared<LocalFriction<dim>>(make_shared<FrictionPotential>(
+                    nodalIntegrals[i], fd, state[i]));
     }
   }
 
   /*
     Return a restriction of the outer function to the i'th node.
   */
-  virtual shared_ptr<LocalFriction<dim> const> restriction(int i) const {
+  shared_ptr<LocalFriction<dim>> restriction(int i) const override {
     return restrictions[i];
   }
 
 private:
-  std::vector<shared_ptr<LocalFriction<dim> const>> restrictions;
+  std::vector<shared_ptr<LocalFriction<dim>>> restrictions;
 };
 }
 #endif
diff --git a/dune/tectonic/localfriction.hh b/dune/tectonic/localfriction.hh
index 2320302a47daf991724ad9bf8eba36554d2b5897..0113832763f3dce9c99af53f094581546328888e 100644
--- a/dune/tectonic/localfriction.hh
+++ b/dune/tectonic/localfriction.hh
@@ -18,7 +18,7 @@ template <int dimension> class LocalFriction {
   using VectorType = FieldVector<double, dimension>;
   using MatrixType = FieldMatrix<double, dimension, dimension>;
 
-  LocalFriction(shared_ptr<FrictionPotentialWrapper const> func)
+  LocalFriction(shared_ptr<FrictionPotentialWrapper> func)
       : func(func), smp(func->smallestPositivePoint()) {}
 
   double operator()(VectorType const &x) const {
@@ -125,8 +125,8 @@ template <int dimension> class LocalFriction {
   }
 
 private:
-  shared_ptr<FrictionPotentialWrapper const> const func;
-  double const smp;
+  shared_ptr<FrictionPotentialWrapper> const func;
+  double smp;
 };
 }
 #endif
diff --git a/src/assemblers.cc b/src/assemblers.cc
index 1e2e2b131af4b25ade55324a8b8e3ab015a564a0..74f3a4e8ce97bda6009bc2f12ca3cb3497461aaf 100644
--- a/src/assemblers.cc
+++ b/src/assemblers.cc
@@ -48,14 +48,14 @@ assemble_frictional(GridView const &gridView, AssemblerType const &assembler,
 }
 
 template <class MatrixType, class VectorType>
-Dune::shared_ptr<Dune::GlobalNonlinearity<MatrixType, VectorType> const>
+Dune::shared_ptr<Dune::GlobalNonlinearity<MatrixType, VectorType>>
 assemble_nonlinearity(
     Dune::BitSetVector<1> const &frictionalNodes,
     Dune::BlockVector<Dune::FieldVector<double, 1>> const &nodalIntegrals,
     FrictionData const &fd,
     Dune::BlockVector<Dune::FieldVector<double, 1>> const &state) {
   return Dune::make_shared<
-      Dune::GlobalRuinaNonlinearity<MatrixType, VectorType> const>(
+      Dune::GlobalRuinaNonlinearity<MatrixType, VectorType>>(
       frictionalNodes, nodalIntegrals, fd, state);
 }
 
diff --git a/src/assemblers.hh b/src/assemblers.hh
index acbde2fe78744b118254902a20150d97a4f9dd55..22b19e6941302aac74a10824ec60515e7cb683a0 100644
--- a/src/assemblers.hh
+++ b/src/assemblers.hh
@@ -24,7 +24,7 @@ assemble_frictional(GridView const &gridView, AssemblerType const &assembler,
                     Dune::BitSetVector<1> const &frictionalNodes);
 
 template <class MatrixType, class VectorType>
-Dune::shared_ptr<Dune::GlobalNonlinearity<MatrixType, VectorType> const>
+Dune::shared_ptr<Dune::GlobalNonlinearity<MatrixType, VectorType>>
 assemble_nonlinearity(
     Dune::BitSetVector<1> const &frictionalNodes,
     Dune::BlockVector<Dune::FieldVector<double, 1>> const &nodalIntegrals,
diff --git a/src/assemblers_tmpl.cc b/src/assemblers_tmpl.cc
index aa565f595fe710b57db9fd37a2eaeb88ae580c8c..87a44928dcaaaa140907515ca8c99f5ad58f7da2 100644
--- a/src/assemblers_tmpl.cc
+++ b/src/assemblers_tmpl.cc
@@ -31,8 +31,7 @@ assemble_frictional<GridView, SmallVector, AssemblerType>(
     GridView const &gridView, AssemblerType const &assembler,
     Dune::BitSetVector<1> const &frictionalNodes);
 
-template Dune::shared_ptr<
-    Dune::GlobalNonlinearity<MatrixType, VectorType> const>
+template Dune::shared_ptr<Dune::GlobalNonlinearity<MatrixType, VectorType>>
 assemble_nonlinearity<MatrixType, VectorType>(
     Dune::BitSetVector<1> const &frictionalNodes,
     Dune::BlockVector<Dune::FieldVector<double, 1>> const &nodalIntegrals,