diff --git a/src/runner_doiact_grav.h b/src/runner_doiact_grav.h
index dcc3265f34e405a1a414085851ce8d30b9cd3d3d..812a6e3850fa66f614326c872511c36ba91b5635 100644
--- a/src/runner_doiact_grav.h
+++ b/src/runner_doiact_grav.h
@@ -1529,7 +1529,6 @@ static INLINE void runner_do_grav_long_range(struct runner *r, struct cell *ci,
 
   /* Flag that contributions will be recieved */
   struct gravity_tensors *const multi_i = ci->multipole;
-  multi_i->pot.interacted = 1;
 
   /* Recover the top-level multipole (for distance checks) */
   struct gravity_tensors *const multi_top = top->multipole;
@@ -1585,6 +1584,9 @@ static INLINE void runner_do_grav_long_range(struct runner *r, struct cell *ci,
       runner_dopair_grav_mm(r, ci, cj);
       // runner_dopair_recursive_grav_pm(r, ci, cj);
 
+      /* Record that this multipole received a contribution */
+      multi_i->pot.interacted = 1;
+
     } /* We are in charge of this pair */
   }   /* Loop over top-level cells */