diff --git a/src/runner.c b/src/runner.c
index 7308d85a2bd9d37c231bab44a2518294e04d3190..d3f931444ceda8cc83cc076d6346e4eedd2fb1c0 100644
--- a/src/runner.c
+++ b/src/runner.c
@@ -340,7 +340,10 @@ void runner_do_sort(struct runner *r, struct cell *c, int flags, int clock) {
   const int count = c->count;
   float buff[8];
 
-  TIMER_TIC
+  TIMER_TIC;
+
+  /* Check that the particles have been moved to the current time */
+  if (!cell_is_drifted(c, r->e)) error("Sorting un-drifted cell");
 
   /* Clean-up the flags, i.e. filter out what's already been sorted, but
      only if the sorts are recent. */