diff --git a/dune/gfe/riemanniantrsolver.cc b/dune/gfe/riemanniantrsolver.cc
index 7fc00955bd257e44c7b7a9e5b4aa88f2bd37a6ba..39df3eb70428ea1e307cda23c67a98d83a0cfe41 100644
--- a/dune/gfe/riemanniantrsolver.cc
+++ b/dune/gfe/riemanniantrsolver.cc
@@ -598,12 +598,21 @@ void RiemannianTrustRegionSolver<Basis,TargetSpace,Assembler>::solve()
 
     if (solved) {
       if (this->verbosity_ == NumProc::FULL and 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 < trustRegion.radius()*smallestScalingParameter) {
         if (this->verbosity_ == NumProc::FULL and rank==0)