diff --git a/src/runner_doiact_grav.h b/src/runner_doiact_grav.h
index 702274e4d1d9b2ed6163c4e2a332a1f773d5aad8..a5b803ae62ad199dce7168aa9b9fb270d1e7042c 100644
--- a/src/runner_doiact_grav.h
+++ b/src/runner_doiact_grav.h
@@ -712,6 +712,9 @@ void runner_dopair_grav(struct runner *r, struct cell *ci, struct cell *cj,
   }
 #endif
 
+  /* Anything to do here? */
+  if (!cell_is_active(ci, e) && !cell_is_active(cj, e)) return;
+
   TIMER_TIC;
 
   /* Can we use M-M interactions ? */
@@ -796,6 +799,9 @@ void runner_dopair_grav(struct runner *r, struct cell *ci, struct cell *cj,
  */
 void runner_doself_grav(struct runner *r, struct cell *c, int gettimer) {
 
+  /* Some constants */
+  const struct engine *e = r->e;
+
 #ifdef SWIFT_DEBUG_CHECKS
   /* Early abort? */
   if (c->gcount == 0) error("Doing self gravity on an empty cell !");
@@ -803,6 +809,9 @@ void runner_doself_grav(struct runner *r, struct cell *c, int gettimer) {
 
   TIMER_TIC;
 
+  /* Anything to do here? */
+  if (!cell_is_active(c, e)) return;
+
   /* If the cell is split, interact each progeny with itself, and with
      each of its siblings. */
   if (c->split) {