diff --git a/pySDC/implementations/convergence_controller_classes/check_convergence.py b/pySDC/implementations/convergence_controller_classes/check_convergence.py
index 36cb8e4a2141e55e9d8e879cdeeec251387c2cd1..c76acebebd8bf6c9a3efb28141d6edf27020d644 100644
--- a/pySDC/implementations/convergence_controller_classes/check_convergence.py
+++ b/pySDC/implementations/convergence_controller_classes/check_convergence.py
@@ -73,7 +73,7 @@ class CheckConvergence(ConvergenceController):
 
         # get residual and check against prescribed tolerance (plus check number of iterations)
         iter_converged = S.status.iter >= S.params.maxiter
-        res_converged = L.status.residual <= L.params.restol
+        res_converged = L.status.residual <= L.params.restol and (S.status.iter > 0 or L.status.sweep > 0)
         e_tol_converged = (
             L.status.increment < L.params.e_tol if (L.params.get('e_tol') and L.status.get('increment')) else False
         )