diff --git a/src/runner.c b/src/runner.c
index ffe1b13745f8b713e19c47e9efa7e8c94010622e..37c6030889b4aa5f65b524557b0936819eecd49a 100644
--- a/src/runner.c
+++ b/src/runner.c
@@ -998,9 +998,13 @@ void runner_do_unskip_mapper(void *map_data, int num_elements,
   for (int ind = 0; ind < num_elements; ind++) {
     struct cell *c = &s->cells_top[local_cells[ind]];
     if (c != NULL) {
+
+      /* Hydro tasks */
       if (e->policy & engine_policy_hydro) runner_do_unskip_hydro(c, e);
-      if (e->policy &
-          (engine_policy_self_gravity | engine_policy_external_gravity))
+
+      /* All gravity tasks */
+      if ((e->policy & engine_policy_self_gravity) ||
+          (e->policy & engine_policy_external_gravity))
         runner_do_unskip_gravity(c, e);
     }
   }
diff --git a/src/scheduler.c b/src/scheduler.c
index c7376ab56638e38f455ddb8ce56e4deefc7cbb8f..d81e5b65567f2249250fd4b1ce5a19593e4b04b7 100644
--- a/src/scheduler.c
+++ b/src/scheduler.c
@@ -1325,6 +1325,9 @@ void scheduler_reweight(struct scheduler *s, int verbose) {
       case task_type_grav_long_range:
         cost = wscale * gcount_i;
         break;
+      case task_type_grav_mm:
+        cost = wscale * (gcount_i + gcount_j);
+        break;
       case task_type_end_force:
         cost = wscale * count_i + wscale * gcount_i;
         break;