diff --git a/src/engine.c b/src/engine.c
index b5035598e4840a96149acffc217c7c78eb1d53f1..6d2921d80258469922a3ec7e247306519a9fa12f 100644
--- a/src/engine.c
+++ b/src/engine.c
@@ -2167,8 +2167,14 @@ void engine_init(struct engine *e, struct space *s, float dt, int nr_threads,
   engine_policy(e);
 
   /* Deal with timestep */
-  if(e->policy & engine_policy_fixdt)
+  if(e->policy & engine_policy_fixdt) {
     e->dt_min = e->dt_max;
+
+    /* Put this timestep on the time line */
+    float dt_timeline = e->timeEnd - e->timeBegin;
+    while (e->dt_min < dt_timeline) dt_timeline /= 2.;
+    e->dt_min = e->dt_max = dt_timeline;
+  }
   
 /* Construct types for MPI communications */
 #ifdef WITH_MPI