diff --git a/src/engine.c b/src/engine.c
index 6f571f9ece9014e447b8afc38a79da7a614a81ee..14959143a7a40292004543d061a08d1395f75e37 100644
--- a/src/engine.c
+++ b/src/engine.c
@@ -718,9 +718,11 @@ void engine_addtasks_send(struct engine *e, struct cell *ci, struct cell *cj,
       /* The send_xv task should unlock the super-cell's ghost task. */
       scheduler_addunlock(s, t_xv, ci->super->ghost);
 
-      scheduler_addunlock(s, ci->super->drift, t_xv);
 #endif
 
+      /* Drift before you send */
+      scheduler_addunlock(s, ci->super->drift, t_xv);
+
       /* The super-cell's kick task should unlock the send_ti task. */
       if (t_ti != NULL) scheduler_addunlock(s, ci->super->kick, t_ti);
     }