diff --git a/src/runner.c b/src/runner.c
index 0026d833b98ec9f07bdec7f13d3d5bccf6a4b1e8..c7e186f5cf6263199c26fb32fbe745fb48b56c08 100644
--- a/src/runner.c
+++ b/src/runner.c
@@ -702,7 +702,7 @@ void runner_do_sort(struct runner *r, struct cell *c, int flags, int cleanup,
       if (c->progeny[k] != NULL && c->progeny[k]->hydro.count > 0) {
         /* Only propagate cleanup if the progeny is stale. */
         runner_do_sort(r, c->progeny[k], flags,
-                       cleanup && (c->progeny[k]->hydro.dx_max_sort >
+                       cleanup && (c->progeny[k]->hydro.dx_max_sort_old >
                                    space_maxreldx * c->progeny[k]->dmin),
                        0);
         dx_max_sort = max(dx_max_sort, c->progeny[k]->hydro.dx_max_sort);
diff --git a/src/scheduler.c b/src/scheduler.c
index 28fb4146983ee40144ff30693453f7e3b27eac3b..74ef4b099a988039dfb2f73a8fbc4ab48e63f784 100644
--- a/src/scheduler.c
+++ b/src/scheduler.c
@@ -489,6 +489,12 @@ static void scheduler_splittask_hydro(struct task *t, struct scheduler *s) {
       double shift[3];
       const int sid = space_getsid(s->space, &ci, &cj, shift);
 
+#ifdef SWIFT_DEBUG_CHECKS
+      if (sid != t->flags)
+        error("Got pair task with incorrect flags: sid=%d flags=%lld", sid,
+              t->flags);
+#endif
+
       /* Should this task be split-up? */
       if (cell_can_split_pair_hydro_task(ci) &&
           cell_can_split_pair_hydro_task(cj)) {