diff --git a/src/runner.c b/src/runner.c
index 68f1a76f04d088487ceaf6c304f2026db22f71e2..410458fadb91886ba7492418a40db75f1dc6c4e3 100644
--- a/src/runner.c
+++ b/src/runner.c
@@ -765,6 +765,9 @@ static void runner_do_drift(struct cell *c, struct engine *e) {
   c->updated = 0;
   c->g_updated = 0;
 
+  /* Should we abort as a rebuild has been triggered ? */
+  if (e->forcerebuild) return;
+
   /* Do we need to drift ? */
   if (!e->drift_all && !cell_is_drift_needed(c, ti_current)) return;