diff --git a/AMDiS/src/solver/LinearSolverInterface.h b/AMDiS/src/solver/LinearSolverInterface.h
index 6b2d0b00af4520959b33ff10e9b48ff13477ac82..7244cf212b13b52f98f2d00339a54af52c4356e0 100644
--- a/AMDiS/src/solver/LinearSolverInterface.h
+++ b/AMDiS/src/solver/LinearSolverInterface.h
@@ -136,14 +136,14 @@ namespace AMDiS {
 	}
 
 	// test for absolute tolerance
-	TEST_EXIT((isNumber(residual) && (residual < 0.0  || tolerance < 1.e-30 || residual <= tolerance))
-		  || !breakTolNotReached)
-	  ("Tolerance tol = %e could not be reached!\n Set tolerance by '->solver->tolerance:' \n", tolerance);
+	bool isAbsTolReached=(isNumber(residual) && (residual < 0.0  || tolerance < 1.e-30 || residual <= tolerance));
+	//	TEST_EXIT(isAbsTolReached || !breakTolNotReached);
+	//  ("Tolerance tol = %e could not be reached!\n Set tolerance by '->solver->tolerance:' \n", tolerance);
 	  
 	// test for relative tolerance
-	TEST_EXIT((isNumber(rel_residual) && (rel_residual < 0.0  || relative < 1.e-30 || rel_residual <= relative))
-		  || (residual < 1.e-30) || !breakTolNotReached)
-	  ("Relative tolerance rtol = %e could not be reached!\n Set tolerance by '->solver->relative tolerance:' \n", relative);
+	bool isRelTolReached=(isNumber(rel_residual) && (rel_residual < 0.0  || relative < 1.e-30 || rel_residual <= relative)) || (residual < 1.e-30);
+	TEST_EXIT(isAbsTolReached || isRelTolReached ||!breakTolNotReached )
+	  ("Relative tolerance rtol = %e could not be reached!\n  tolerance tol = %e could not be reached!\n Set tolerance by '->solver->relative tolerance:' \n Set tolerance by '->solver->tolerance:' \n", relative, tolerance);
       }
       return error_code;
     }