diff --git a/src/spatial-solving/fixedpointiterator.hh b/src/spatial-solving/fixedpointiterator.hh
index 9e113e1d81813cbf8a93ce9c18acbaab5f29ad27..ba31c81ec07ac10ae00c20e5813f39cf40bea106 100644
--- a/src/spatial-solving/fixedpointiterator.hh
+++ b/src/spatial-solving/fixedpointiterator.hh
@@ -9,8 +9,8 @@
 #include <dune/solvers/solvers/solver.hh>
 
 struct FixedPointIterationCounter {
-  size_t iterations;
-  size_t multigridIterations;
+  size_t iterations = 0;
+  size_t multigridIterations = 0;
 
   void operator+=(FixedPointIterationCounter const &other);
 };
diff --git a/src/time-stepping/adaptivetimestepper.cc b/src/time-stepping/adaptivetimestepper.cc
index 8059e28e3b7f0b28e89fd1e80700e461002afd03..f3c2197cdcfb66b3750ba0e10362edbba5d59ba9 100644
--- a/src/time-stepping/adaptivetimestepper.cc
+++ b/src/time-stepping/adaptivetimestepper.cc
@@ -45,10 +45,10 @@ template <class Factory, class Updaters, class ErrorNorm>
 bool AdaptiveTimeStepper<Factory, Updaters, ErrorNorm>::coarsen() {
   bool didCoarsen = false;
   while (relativeTime_ + relativeTau_ < 1.0) {
-    R2_ = { R1_.updaters.clone() };
+    R2_ = {R1_.updaters.clone(), FixedPointIterationCounter()};
     step(R2_, relativeTime_ + relativeTau_, relativeTau_);
 
-    UpdatersWithCount C{ current_.clone() };
+    UpdatersWithCount C{current_.clone(), FixedPointIterationCounter()};
     step(C, relativeTime_, 2.0 * relativeTau_);
 
     if (!mustRefine_(C.updaters, R2_.updaters)) {
@@ -66,9 +66,9 @@ bool AdaptiveTimeStepper<Factory, Updaters, ErrorNorm>::coarsen() {
 template <class Factory, class Updaters, class ErrorNorm>
 void AdaptiveTimeStepper<Factory, Updaters, ErrorNorm>::refine() {
   while (true) {
-    UpdatersWithCount F1{ current_.clone() };
+    UpdatersWithCount F1{current_.clone(), FixedPointIterationCounter()};
     step(F1, relativeTime_, relativeTau_ / 2.0);
-    UpdatersWithCount F2{ F1.updaters.clone() };
+    UpdatersWithCount F2{F1.updaters.clone(), FixedPointIterationCounter()};
     step(F2, relativeTime_ + relativeTau_ / 2.0, relativeTau_ / 2.0);
 
     if (!mustRefine_(R1_.updaters, F2.updaters)) {
@@ -84,7 +84,7 @@ void AdaptiveTimeStepper<Factory, Updaters, ErrorNorm>::refine() {
 template <class Factory, class Updaters, class ErrorNorm>
 IterationRegister AdaptiveTimeStepper<Factory, Updaters, ErrorNorm>::advance() {
   if (R2_.updaters == Updaters()) {
-    R1_ = { current_.clone() };
+    R1_ = {current_.clone(), FixedPointIterationCounter()};
     step(R1_, relativeTime_, relativeTau_); // counting again upon restart
   } else {
     R1_ = R2_;