diff --git a/src/engine.c b/src/engine.c
index b7529bd0d5aefd10dfa6325a62a1282f60191cee..a98eefbaece9fe10fb67f0a7e239bc14625daec7 100644
--- a/src/engine.c
+++ b/src/engine.c
@@ -1505,8 +1505,9 @@ void engine_addtasks_recv_hydro(struct engine *e, struct cell *c,
     t_xv = scheduler_addtask(s, task_type_recv, task_subtype_xv,
                              engine_tasks_per_tag * c->tag + engine_task_tag_xv,
                              0, c, NULL);
-    t_rho = scheduler_addtask(s, task_type_recv, task_subtype_rho,
-                              6 * c->tag + engine_task_tag_rho, 0, c, NULL);
+    t_rho = scheduler_addtask(
+        s, task_type_recv, task_subtype_rho,
+        engine_tasks_per_tag * c->tag + engine_task_tag_rho, 0, c, NULL);
 #ifdef EXTRA_HYDRO_LOOP
     t_gradient = scheduler_addtask(
         s, task_type_recv, task_subtype_gradient,
diff --git a/src/engine.h b/src/engine.h
index 6d84a6927b8882bd33e36a2d513a05f68f0371ea..c6b363017f7052fac4528103a6a6ecd7dad65507 100644
--- a/src/engine.h
+++ b/src/engine.h
@@ -104,7 +104,7 @@ enum engine_task_tags {
   engine_task_tag_ti,
   engine_task_tag_grad,
   engine_task_tag_grav,
-  engine_tasks_per_tag = 6
+  engine_tasks_per_tag
 };
 
 /**