diff --git a/src/scheduler.c b/src/scheduler.c
index f9cfff5645c571a6bae1d0dc111766e2b2be1120..072235be1807db972208514739409cdb1e76c0d6 100644
--- a/src/scheduler.c
+++ b/src/scheduler.c
@@ -1435,7 +1435,7 @@ void scheduler_enqueue(struct scheduler *s, struct task *t) {
     switch (t->type) {
       case task_type_self:
       case task_type_sub_self:
-        if (t->subtype == task_subtype_grav)
+        if (t->subtype == task_subtype_grav || t->subtype == task_subtype_external_grav)
           qid = t->ci->super_gravity->owner;
         else
           qid = t->ci->super_hydro->owner;