diff --git a/src/adaptivetimestepper.hh b/src/adaptivetimestepper.hh
index 1b2a819db464ebb5ae048cab1618feec179c48a5..0a03417249d3254a43c0086a0204f57a6ace3f61 100644
--- a/src/adaptivetimestepper.hh
+++ b/src/adaptivetimestepper.hh
@@ -39,15 +39,12 @@ template <class Factory, class UpdaterPair> class AdaptiveTimeStepper {
     iterationWriter_ << std::endl;
   }
 
-  // FIXME
-  bool reachedEnd() { return relativeTime_ > 1.0 - 1e-10; }
+  bool reachedEnd() { return relativeTime_ >= 1.0; }
 
   bool coarsen() {
     bool didCoarsen = false;
 
-    // FIXME: for a constant function, e.g., we will not only overstep but
-    // diverge
-    while (true) {
+    while (relativeTime_ + relativeTau_ < 1.0) {
       R2_ = clonePair(R1_);
       {
         MyCoupledTimeStepper coupledTimeStepper(finalTime_, factory_, parset_,