diff --git a/src/engine.c b/src/engine.c
index 5c788dfb4ee50ad1181cd520e890b76f32a8a113..ea674ed4d347901f1b712c64d0588ec51b47280c 100644
--- a/src/engine.c
+++ b/src/engine.c
@@ -2515,7 +2515,9 @@ void engine_skip_force_and_kick(struct engine *e) {
 
     struct task *t = &tasks[i];
 
-    if (t->subtype == task_subtype_force || t->type == task_type_kick)
+    /* Skip everything that updates the particles */
+    if (t->subtype == task_subtype_force || t->type == task_type_kick ||
+        t->type == task_type_cooling || t->type == task_type_sourceterms)
       t->skip = 1;
   }
 }