diff --git a/tests/test125cells.c b/tests/test125cells.c
index 21fc3f5407f90d9b75485d08bf1077e0a20e88b2..168b4838eab5b27f359ab927a7bae2240919e82f 100644
--- a/tests/test125cells.c
+++ b/tests/test125cells.c
@@ -188,8 +188,9 @@ void get_solution(const struct cell *main_cell, struct solution_part *solution,
   }
 }
 
-void reset_particles(struct cell *c, enum velocity_field vel,
-                     enum pressure_field press, float size, float density) {
+void reset_particles(struct cell *c, struct hydro_space *hs,
+                     enum velocity_field vel, enum pressure_field press,
+                     float size, float density) {
 
   for (int i = 0; i < c->count; ++i) {
 
@@ -198,6 +199,8 @@ void reset_particles(struct cell *c, enum velocity_field vel,
     set_velocity(p, vel, size);
     set_energy_state(p, press, size, density);
 
+    hydro_init_part(p, hs);
+
 #if defined(GIZMO_SPH) || defined(SHADOWFAX_SPH)
     float volume = p->conserved.mass / density;
 #if defined(GIZMO_SPH)
@@ -313,6 +316,7 @@ struct cell *make_cell(size_t n, const double offset[3], double size, double h,
   cell->count = count;
   cell->gcount = 0;
   cell->dx_max = 0.;
+  cell->dx_max_sort = 0.;
   cell->width[0] = size;
   cell->width[1] = size;
   cell->width[2] = size;
@@ -323,6 +327,7 @@ struct cell *make_cell(size_t n, const double offset[3], double size, double h,
   cell->ti_old = 8;
   cell->ti_end_min = 8;
   cell->ti_end_max = 8;
+  cell->ti_sort = 0;
 
   // shuffle_particles(cell->parts, cell->count);
 
@@ -519,7 +524,11 @@ int main(int argc, char *argv[]) {
 
   /* Build the infrastructure */
   struct space space;
-  space.periodic = 0;
+  space.periodic = 1;
+  space.dim[0] = 3.;
+  space.dim[1] = 3.;
+  space.dim[2] = 3.;
+  hydro_space_init(&space.hs, &space);
 
   struct phys_const prog_const;
   prog_const.const_newton_G = 1.f;
@@ -582,18 +591,13 @@ int main(int argc, char *argv[]) {
 
     const ticks tic = getticks();
 
-    /* Start with a gentle kick */
-    // runner_do_kick1(&runner, main_cell, 0);
-
-    /* And a gentle drift */
-    // runner_do_drift_particles(&runner, main_cell, 0);
+    /* Initialise the particles */
+    for (int j = 0; j < 125; ++j)
+      runner_do_drift_particles(&runner, cells[j], 0);
 
     /* First, sort stuff */
     for (int j = 0; j < 125; ++j) runner_do_sort(&runner, cells[j], 0x1FFF, 0);
 
-    /* Initialise the particles */
-    for (int j = 0; j < 125; ++j) runner_do_init(&runner, cells[j], 0);
-
 /* Do the density calculation */
 #if !(defined(MINIMAL_SPH) && defined(WITH_VECTORIZATION))
 
@@ -657,8 +661,6 @@ int main(int argc, char *argv[]) {
 
     /* Finally, give a gentle kick */
     runner_do_end_force(&runner, main_cell, 0);
-    // runner_do_kick2(&runner, main_cell, 0);
-
     const ticks toc = getticks();
     time += toc - tic;
 
@@ -674,20 +676,21 @@ int main(int argc, char *argv[]) {
   message("SWIFT calculation took       : %15lli ticks.", time / runs);
 
   for (int j = 0; j < 125; ++j)
-    reset_particles(cells[j], vel, press, size, rho);
+    reset_particles(cells[j], &space.hs, vel, press, size, rho);
 
   /* NOW BRUTE-FORCE CALCULATION */
 
   const ticks tic = getticks();
 
-  /* Kick the central cell */
-  // runner_do_kick1(&runner, main_cell, 0);
+/* Kick the central cell */
+// runner_do_kick1(&runner, main_cell, 0);
 
-  /* And drift it */
-  runner_do_drift_particles(&runner, main_cell, 0);
+/* And drift it */
+// runner_do_drift_particles(&runner, main_cell, 0);
 
-  /* Initialise the particles */
-  for (int j = 0; j < 125; ++j) runner_do_init(&runner, cells[j], 0);
+/* Initialise the particles */
+// for (int j = 0; j < 125; ++j) runner_do_drift_particles(&runner, cells[j],
+// 0);
 
 /* Do the density calculation */
 #if !(defined(MINIMAL_SPH) && defined(WITH_VECTORIZATION))
diff --git a/tests/test27cells.c b/tests/test27cells.c
index 2390ae8aeac465c49831984c0d24817b50d757b3..82eb2465dd8436d7e96ac7fed54eedcb01ac0db3 100644
--- a/tests/test27cells.c
+++ b/tests/test27cells.c
@@ -152,6 +152,7 @@ struct cell *make_cell(size_t n, double *offset, double size, double h,
   cell->h_max = h;
   cell->count = count;
   cell->dx_max = 0.;
+  cell->dx_max_sort = 0.;
   cell->width[0] = size;
   cell->width[1] = size;
   cell->width[2] = size;
@@ -162,6 +163,7 @@ struct cell *make_cell(size_t n, double *offset, double size, double h,
   cell->ti_old = 8;
   cell->ti_end_min = 8;
   cell->ti_end_max = 8;
+  cell->ti_sort = 8;
 
   shuffle_particles(cell->parts, cell->count);
 
@@ -397,7 +399,10 @@ int main(int argc, char *argv[]) {
 
   /* Build the infrastructure */
   struct space space;
-  space.periodic = 0;
+  space.periodic = 1;
+  space.dim[0] = 3.;
+  space.dim[1] = 3.;
+  space.dim[2] = 3.;
 
   struct engine engine;
   engine.s = &space;
@@ -419,6 +424,8 @@ int main(int argc, char *argv[]) {
         cells[i * 9 + j * 3 + k] = make_cell(particles, offset, size, h, rho,
                                              &partId, perturbation, vel);
 
+        runner_do_drift_particles(&runner, cells[i * 9 + j * 3 + k], 0);
+
         runner_do_sort(&runner, cells[i * 9 + j * 3 + k], 0x1FFF, 0);
       }
     }