diff --git a/src/runner.c b/src/runner.c
index 35148d506f615e0cd67673ba0e87c5d7ab09e979..baacd5c5ab4d6553e04afd16d3f417482d1b3b1a 100644
--- a/src/runner.c
+++ b/src/runner.c
@@ -768,118 +768,15 @@ static void runner_do_unskip(struct cell *c, struct engine *e, int drift) {
     if (forcerebuild) atomic_inc(&e->forcerebuild);
   }
 
-  /* Do we really need to drift? */
-  if (drift) {
-    if (!e->drift_all && !cell_is_drift_needed(c, e)) return;
-  } else {
-
-    /* Not drifting, but may still need to recurse for task un-skipping. */
-    if (c->split) {
-      for (int k = 0; k < 8; k++) {
-        if (c->progeny[k] != NULL) {
-          struct cell *cp = c->progeny[k];
-          runner_do_unskip(cp, e, 0);
-        }
-      }
-    }
-    return;
-  }
-
-  /* Now, we can drift */
-  /* Get some information first */
-  // const double timeBase = e->timeBase;
-  const int ti_old = c->ti_old;
-  const int ti_current = e->ti_current;
-  // struct part *const parts = c->parts;
-  // struct xpart *const xparts = c->xparts;
-  // struct gpart *const gparts = c->gparts;
-
-  /* Drift from the last time the cell was drifted to the current time */
-  // const double dt = (ti_current - ti_old) * timeBase;
-  //  float dx_max = 0.f, dx2_max = 0.f, h_max = 0.f;
-
-  /* No children? */
-  if (!c->split) {
-
-    /* Check that we are actually going to move forward. */
-    if (ti_current > ti_old) {
-#if 0
-      /* Loop over all the g-particles in the cell */
-      const size_t nr_gparts = c->gcount;
-      for (size_t k = 0; k < nr_gparts; k++) {
-
-        /* Get a handle on the gpart. */
-        struct gpart *const gp = &gparts[k];
-
-        /* Drift... */
-        drift_gpart(gp, dt, timeBase, ti_old, ti_current);
-
-        /* Compute (square of) motion since last cell construction */
-        const float dx2 = gp->x_diff[0] * gp->x_diff[0] +
-                          gp->x_diff[1] * gp->x_diff[1] +
-                          gp->x_diff[2] * gp->x_diff[2];
-        dx2_max = (dx2_max > dx2) ? dx2_max : dx2;
-      }
-
-      /* Loop over all the particles in the cell */
-      const size_t nr_parts = c->count;
-      for (size_t k = 0; k < nr_parts; k++) {
-
-        /* Get a handle on the part. */
-        struct part *const p = &parts[k];
-        struct xpart *const xp = &xparts[k];
-
-        /* Drift... */
-        drift_part(p, xp, dt, timeBase, ti_old, ti_current);
-
-        /* Compute (square of) motion since last cell construction */
-        const float dx2 = xp->x_diff[0] * xp->x_diff[0] +
-                          xp->x_diff[1] * xp->x_diff[1] +
-                          xp->x_diff[2] * xp->x_diff[2];
-        dx2_max = (dx2_max > dx2) ? dx2_max : dx2;
-
-        /* Maximal smoothing length */
-        h_max = (h_max > p->h) ? h_max : p->h;
-      }
-
-      /* Now, get the maximal particle motion from its square */
-      dx_max = sqrtf(dx2_max);
-#endif
-    } /* Check that we are actually going to move forward. */
-
-    else {
-#if 0
-      /* ti_old == ti_current, just keep the current cell values. */
-      h_max = c->h_max;
-      dx_max = c->dx_max;
-#endif
-    }
-  }
-
-  /* Otherwise, aggregate data from children. */
-  else {
-
-    /* Loop over the progeny and collect their data. */
-    for (int k = 0; k < 8; k++)
+  /* Not drifting, but may still need to recurse for task un-skipping. */
+  if (c->split) {
+    for (int k = 0; k < 8; k++) {
       if (c->progeny[k] != NULL) {
-        struct cell *cp = c->progeny[k];
-        // message("aaa");
-        /* Recurse. */
-        runner_do_unskip(cp, e, 0);
-#if 0
-        dx_max = max(dx_max, cp->dx_max);
-        h_max = max(h_max, cp->h_max);
-#endif
+	struct cell *cp = c->progeny[k];
+	runner_do_unskip(cp, e, 0);
       }
+    }
   }
-#if 0
-  /* Store the values */
-  c->h_max = h_max;
-  c->dx_max = dx_max;
-
-  /* Update the time of the last drift */
-  c->ti_old = ti_current;
-#endif
 }
 
 /**