diff --git a/odl/solvers/util/callback.py b/odl/solvers/util/callback.py
index <HASH>..<HASH> 100644
--- a/odl/solvers/util/callback.py
+++ b/odl/solvers/util/callback.py
@@ -1014,11 +1014,10 @@ class CallbackProgressBar(Callback):
 
     def __call__(self, _):
         """Update the progressbar."""
+        self.iter += 1
         if self.iter % self.step == 0:
             self.pbar.update(self.step)
 
-        self.iter += 1
-
     def reset(self):
         """Set `iter` to 0."""
         import tqdm
Fixed off-by-one error in CallbackProgressBar

After the first iteration tqdm is called even if e.g. `step=<I>` and tqdm assumes that already <I> iterations have taken place. This overestimates the iteration speed and the process bar is wrong as well.