diff --git a/dune/gfe/linearalgebra.hh b/dune/gfe/linearalgebra.hh
index a7a6ea7e512325e8588ca19f6b0560830c7f9169..2118de2d6ba50d7b6e6d5d9523dafb221f09a38c 100644
--- a/dune/gfe/linearalgebra.hh
+++ b/dune/gfe/linearalgebra.hh
@@ -4,7 +4,6 @@
 #include <random>
 
 #include <dune/common/fmatrix.hh>
-#include <dune/common/version.hh>
 #include <dune/istl/scaledidmatrix.hh>
 
 
@@ -63,22 +62,6 @@ namespace Dune {
     }
 #endif
 
-#if !DUNE_VERSION_NEWER(DUNE_COMMON, 2, 8)
-    /** \brief Multiplication of a ScaledIdentityMatrix with another FieldMatrix */
-    template <class T, int N, int otherCols>
-    Dune::FieldMatrix<T,N,otherCols> operator* ( const Dune::ScaledIdentityMatrix<T, N>& diagonalMatrix,
-                                                 const Dune::FieldMatrix<T, N, otherCols>& matrix)
-    {
-      Dune::FieldMatrix<T,N,otherCols> result(0);
-
-      for (size_t i = 0; i < N; ++i)
-        for (size_t j = 0; j < otherCols; ++j)
-          result[i][j] = diagonalMatrix[i][i]*matrix[i][j];
-
-      return result;
-    }
-#endif
-
     /** \brief Return the trace of a matrix */
     template <class T, int n>
     static T trace(const FieldMatrix<T,n,n>& A)
diff --git a/dune/gfe/mixedriemanniantrsolver.cc b/dune/gfe/mixedriemanniantrsolver.cc
index 625836ecbd941095ef38859d4de21adbfe48bb16..890be19551821fc1a33ab9c13b4e4b8778916212 100644
--- a/dune/gfe/mixedriemanniantrsolver.cc
+++ b/dune/gfe/mixedriemanniantrsolver.cc
@@ -528,7 +528,7 @@ void MixedRiemannianTrustRegionSolver<GridType,Basis,Basis0,TargetSpace0,Basis1,
 
       recomputeGradientHessian = true;
 
-    } else if (solvedByInnerSolver && (oldEnergy-energy) / modelDecrease > 0.01
+    } else if ((solvedByInnerSolver && (oldEnergy-energy) / modelDecrease > 0.01)
                || std::abs(oldEnergy-energy) < 1e-12) {
       // successful iteration
       x_ = newIterate;
diff --git a/dune/gfe/riemannianpnsolver.cc b/dune/gfe/riemannianpnsolver.cc
index 70452c0562254ac6ecea9ccd28cc65fd3aa45569..6339f72711e72ceb5cfa652e1190ac348fde6a63 100644
--- a/dune/gfe/riemannianpnsolver.cc
+++ b/dune/gfe/riemannianpnsolver.cc
@@ -409,12 +409,19 @@ void RiemannianProximalNewtonSolver<Basis,TargetSpace,Assembler>::solve()
 
     if (solved) {
       if (this->verbosity_ == NumProc::FULL && rank==0)
-        if (normType_ == ErrorNormType::infinity)
+        switch (normType_)
+        {
+        case ErrorNormType::infinity :
           std::cout << "infinity norm of the correction: " << corrGlobalNorm << std::endl;
-        else if (normType_ == ErrorNormType::H1semi)
+          break;
+
+        case ErrorNormType::H1semi :
           std::cout << "H1-semi norm of the correction: " << corrGlobalNorm << std::endl;
-        else
+          break;
+
+        default :
           DUNE_THROW(Dune::Exception, "Unknown norm type for stopping criterion!");
+        }
 
       if (corrGlobalNorm < this->tolerance_ && corrGlobalNorm < 1/regularization) {
         if (this->verbosity_ == NumProc::FULL and rank==0)