diff --git a/dune/solvers/solvers/loopsolver.cc b/dune/solvers/solvers/loopsolver.cc index b103b829fc3c687b6c71966c1e2de1e5ab3e0118..5dee67692f51919d127260289b42730182cdbacf 100644 --- a/dune/solvers/solvers/loopsolver.cc +++ b/dune/solvers/solvers/loopsolver.cc @@ -105,7 +105,7 @@ void ::LoopSolver<VectorType, BitVectorType>::solve() } // Turn the error into the relative error, if requested - if (this->useRelativeError_) + if (this->useRelativeError_ && !std::isnan(error/oldNorm)) error = error / oldNorm; if (!isinf(convRate) && !isnan(convRate) && i>0) {