diff --git a/src/const.h b/src/const.h
index 1082bccc0bd514316c1457d67ea3f1023943c9e5..b8b8434cc5e085e54b0d60be4b85530f0b077eb7 100644
--- a/src/const.h
+++ b/src/const.h
@@ -95,8 +95,8 @@
 //#define EXTERNAL_POTENTIAL_DISK_PATCH
 
 /* Cooling properties */
-#define COOLING_NONE
-//#define COOLING_CONST_DU
+//#define COOLING_NONE
+#define COOLING_CONST_DU
 //#define COOLING_CONST_LAMBDA
 //#define COOLING_GRACKLE
 
diff --git a/src/cooling/const_du/cooling.h b/src/cooling/const_du/cooling.h
index 2d3ff5bcc6528545e019d0215873c2e72eb0664b..f6fce4f1c1e223a43b37c163b2b4a8bf6f3ab5e8 100644
--- a/src/cooling/const_du/cooling.h
+++ b/src/cooling/const_du/cooling.h
@@ -59,7 +59,7 @@ __attribute__((always_inline)) INLINE static void cooling_cool_part(
     const struct phys_const* restrict phys_const,
     const struct UnitSystem* restrict us,
     const struct cooling_function_data* restrict cooling,
-    struct part* restrict p, float dt) {
+    struct part* restrict p, struct xpart* restrict xp, float dt) {
 
   /* Get current internal energy (dt=0) */
   const float u_old = hydro_get_internal_energy(p, 0.f);
diff --git a/src/cooling/const_lambda/cooling.h b/src/cooling/const_lambda/cooling.h
index 9f149915d05aa952b8abe8fb29bf41fdf0315b90..19921537a794b1b97d3205dcb34ace7527a2bd9f 100644
--- a/src/cooling/const_lambda/cooling.h
+++ b/src/cooling/const_lambda/cooling.h
@@ -86,7 +86,7 @@ __attribute__((always_inline)) INLINE static void cooling_cool_part(
     const struct phys_const* restrict phys_const,
     const struct UnitSystem* restrict us,
     const struct cooling_function_data* restrict cooling,
-    struct part* restrict p, float dt) {
+    struct part* restrict p, struct xpart* restrict xp, float dt) {
 
   /* Get current internal energy (dt=0) */
   const float u_old = hydro_get_internal_energy(p, 0.f);
diff --git a/src/cooling/none/cooling.h b/src/cooling/none/cooling.h
index 535fdd5b196a056ef99e4b06118e48f96a248831..4fc9c6e1c54e7fd5e7ab08294197c090f994c409 100644
--- a/src/cooling/none/cooling.h
+++ b/src/cooling/none/cooling.h
@@ -51,7 +51,7 @@ __attribute__((always_inline)) INLINE static void cooling_cool_part(
     const struct phys_const* restrict phys_const,
     const struct UnitSystem* restrict us,
     const struct cooling_function_data* restrict cooling,
-    struct part* restrict p, float dt) {}
+    struct part* restrict p, struct xpart* restrict xp, float dt) {}
 
 /**
  * @brief Computes the cooling time-step.
diff --git a/src/runner.c b/src/runner.c
index 7712d0ca76685351b9137b19857eb9bb4dc01911..eb2605915c13622893cd06d2f8806254d784afba 100644
--- a/src/runner.c
+++ b/src/runner.c
@@ -170,6 +170,7 @@ void runner_do_grav_external(struct runner *r, struct cell *c, int timer) {
 void runner_do_cooling(struct runner *r, struct cell *c, int timer) {
 
   struct part *restrict parts = c->parts;
+  struct xpart *restrict xparts = c->xparts;
   const int count = c->count;
   const int ti_current = r->e->ti_current;
   const struct cooling_function_data *cooling_func = r->e->cooling_func;
@@ -195,13 +196,14 @@ void runner_do_cooling(struct runner *r, struct cell *c, int timer) {
 
     /* Get a direct pointer on the part. */
     struct part *restrict p = &parts[i];
+    struct xpart *restrict xp = &xparts[i];
 
     /* Kick has already updated ti_end, so need to check ti_begin */
     if (p->ti_begin == ti_current) {
 
       const double dt = (p->ti_end - p->ti_begin) * timeBase;
 
-      cooling_cool_part(constants, us, cooling_func, p, dt);
+      cooling_cool_part(constants, us, cooling_func, p, xp, dt);
     }
   }