diff --git a/src/cell.c b/src/cell.c
index f8b7297b6538c4305e60ab640480e8f6930f5219..3c3b342c7401b08f420f94d3ed9bf6fc31238a44 100644
--- a/src/cell.c
+++ b/src/cell.c
@@ -5192,6 +5192,11 @@ void cell_drift_part(struct cell *c, const struct engine *e, int force) {
       /* Ignore inhibited particles */
       if (part_is_inhibited(p, e)) continue;
 
+      /* Apply the effects of feedback on this particle
+       * (Note: Only used in schemes that have a delayed feedback mechanism
+       * otherwise just an empty function) */
+      feedback_update_part(p, xp, e);
+
       /* Drift... */
       drift_part(p, xp, dt_drift, dt_kick_hydro, dt_kick_grav, dt_therm,
                  ti_old_part, ti_current, e->cosmology, e->hydro_properties,
diff --git a/src/runner_others.c b/src/runner_others.c
index 738353ab4f733e7120daf7786973cd8124e6cd4e..feba6a1d99759557ae077efa9d630bb517dcd776 100644
--- a/src/runner_others.c
+++ b/src/runner_others.c
@@ -211,11 +211,6 @@ void runner_do_cooling(struct runner *r, struct cell *c, int timer) {
         cooling_cool_part(constants, us, cosmo, hydro_props,
                           entropy_floor_props, cooling_func, p, xp, dt_cool,
                           dt_therm, time);
-
-        /* Apply the effects of feedback on this particle
-         * (Note: Only used in schemes that have a delayed feedback mechanism
-         * otherwise just an empty function) */
-        feedback_update_part(p, xp, e);
       }
     }
   }