diff --git a/dune-solvers/solvers/tcgsolver.cc b/dune-solvers/solvers/tcgsolver.cc
index e67c3af70638a9eb040e22aa771f31ba5eaba28d..a9f76d1e95516f81b86990ee97e388d569d33cf1 100644
--- a/dune-solvers/solvers/tcgsolver.cc
+++ b/dune-solvers/solvers/tcgsolver.cc
@@ -82,7 +82,7 @@ void TruncatedCGSolver<MatrixType, VectorType>::solve()
         VectorType eta_jPlus1 = eta_j;
         eta_jPlus1.axpy(alpha_j, delta_j);
 
-        if (eta_jPlus1*eta_jPlus1 >= trustRegionRadius_*trustRegionRadius_) {
+        if (trustRegionScalarProduct(eta_jPlus1,eta_jPlus1) >= trustRegionRadius_*trustRegionRadius_) {
 
             // Compute r >= 0 such that \eta = \eta_j + \tau \delta_j satisfies || \eta || = \Delta
             field_type tau = positiveRoot(trustRegionScalarProduct(delta_j,delta_j),