diff --git a/src/multipole.h b/src/multipole.h
index 2e828baf6bb8ae05ab58ae03324cd419a968d7ad..8a35557264dc7ad2995cfb95376e87b5fbd24cc2 100644
--- a/src/multipole.h
+++ b/src/multipole.h
@@ -906,55 +906,45 @@ INLINE static void gravity_M2M(struct multipole *m_a,
   m_a->M_001 = m_b->M_001 + X_001(dx) * m_b->M_000;
 #endif
 #if SELF_GRAVITY_MULTIPOLE_ORDER > 1
-  m_a->M_200 = m_b->M_200 + X_100(dx) * m_b->M_100 + X_200(dx) * m_b->M_000;
 
+  /* Shift 2nd order term */
+  m_a->M_200 = m_b->M_200 + X_100(dx) * m_b->M_100 + X_200(dx) * m_b->M_000;
   m_a->M_020 = m_b->M_020 + X_010(dx) * m_b->M_010 + X_020(dx) * m_b->M_000;
-
   m_a->M_002 = m_b->M_002 + X_001(dx) * m_b->M_001 + X_002(dx) * m_b->M_000;
-
   m_a->M_110 = m_b->M_110 + X_100(dx) * m_b->M_010 + X_010(dx) * m_b->M_100 +
                X_110(dx) * m_b->M_000;
-
   m_a->M_101 = m_b->M_101 + X_100(dx) * m_b->M_001 + X_001(dx) * m_b->M_100 +
                X_101(dx) * m_b->M_000;
-
   m_a->M_011 = m_b->M_011 + X_010(dx) * m_b->M_001 + X_001(dx) * m_b->M_010 +
                X_011(dx) * m_b->M_000;
 #endif
 #if SELF_GRAVITY_MULTIPOLE_ORDER > 2
+
+  /* Shift 3rd order term */
   m_a->M_300 = m_b->M_300 + X_100(dx) * m_b->M_200 + X_200(dx) * m_b->M_100 +
                X_300(dx) * m_b->M_000;
-
   m_a->M_030 = m_b->M_030 + X_010(dx) * m_b->M_020 + X_020(dx) * m_b->M_010 +
                X_030(dx) * m_b->M_000;
-
   m_a->M_003 = m_b->M_003 + X_001(dx) * m_b->M_002 + X_002(dx) * m_b->M_001 +
                X_003(dx) * m_b->M_000;
-
   m_a->M_210 = m_b->M_210 + X_100(dx) * m_b->M_110 + X_010(dx) * m_b->M_200 +
                X_200(dx) * m_b->M_010 + X_110(dx) * m_b->M_100 +
                X_210(dx) * m_b->M_000;
-
   m_a->M_201 = m_b->M_201 + X_100(dx) * m_b->M_101 + X_001(dx) * m_b->M_200 +
                X_200(dx) * m_b->M_001 + X_101(dx) * m_b->M_100 +
                X_201(dx) * m_b->M_000;
-
   m_a->M_120 = m_b->M_120 + X_010(dx) * m_b->M_110 + X_100(dx) * m_b->M_020 +
                X_020(dx) * m_b->M_100 + X_110(dx) * m_b->M_010 +
                X_120(dx) * m_b->M_000;
-
   m_a->M_021 = m_b->M_021 + X_010(dx) * m_b->M_011 + X_001(dx) * m_b->M_020 +
                X_020(dx) * m_b->M_001 + X_011(dx) * m_b->M_010 +
                X_021(dx) * m_b->M_000;
-
   m_a->M_102 = m_b->M_102 + X_001(dx) * m_b->M_101 + X_100(dx) * m_b->M_002 +
                X_002(dx) * m_b->M_100 + X_101(dx) * m_b->M_001 +
                X_102(dx) * m_b->M_000;
-
   m_a->M_012 = m_b->M_012 + X_001(dx) * m_b->M_011 + X_010(dx) * m_b->M_002 +
                X_002(dx) * m_b->M_010 + X_011(dx) * m_b->M_001 +
                X_012(dx) * m_b->M_000;
-
   m_a->M_111 = m_b->M_111 + X_100(dx) * m_b->M_011 + X_010(dx) * m_b->M_101 +
                X_001(dx) * m_b->M_110 + X_110(dx) * m_b->M_001 +
                X_101(dx) * m_b->M_010 + X_011(dx) * m_b->M_100 +
@@ -1013,7 +1003,6 @@ INLINE static void gravity_M2L(struct grav_tensor *l_b,
   l_b->F_010 += m_a->M_000 * D_010(dx, dy, dz, r_inv);
   l_b->F_001 += m_a->M_000 * D_001(dx, dy, dz, r_inv);
 #endif
-
 #if SELF_GRAVITY_MULTIPOLE_ORDER > 1
 
   /*  2nd order multipole term (addition to rank 0)*/
@@ -1043,7 +1032,6 @@ INLINE static void gravity_M2L(struct grav_tensor *l_b,
   l_b->F_101 += m_a->M_000 * D_101(dx, dy, dz, r_inv);
   l_b->F_011 += m_a->M_000 * D_011(dx, dy, dz, r_inv);
 #endif
-
 #if SELF_GRAVITY_MULTIPOLE_ORDER > 2
 
   /*  3rd order multipole term (addition to rank 0)*/
@@ -1156,7 +1144,6 @@ INLINE static void gravity_L2L(struct grav_tensor *la,
   la->F_010 += X_000(dx) * lb->F_010;
   la->F_001 += X_000(dx) * lb->F_001;
 #endif
-
 #if SELF_GRAVITY_MULTIPOLE_ORDER > 1
 
   /* Shift 2nd order multipole term (addition to rank 0)*/
@@ -1181,7 +1168,6 @@ INLINE static void gravity_L2L(struct grav_tensor *la,
   la->F_101 += X_000(dx) * lb->F_101;
   la->F_011 += X_000(dx) * lb->F_011;
 #endif
-
 #if SELF_GRAVITY_MULTIPOLE_ORDER > 2
 
   /* Shift 3rd order multipole term (addition to rank 0)*/
@@ -1271,6 +1257,7 @@ INLINE static void gravity_L2P(const struct grav_tensor *lb,
   gp->a_grav[2] += X_000(dx) * lb->F_001;
 #endif
 #if SELF_GRAVITY_MULTIPOLE_ORDER > 1
+
   /* 1st order interaction */
   gp->a_grav[0] +=
       X_100(dx) * lb->F_200 + X_010(dx) * lb->F_110 + X_001(dx) * lb->F_101;
@@ -1280,6 +1267,7 @@ INLINE static void gravity_L2P(const struct grav_tensor *lb,
       X_100(dx) * lb->F_101 + X_010(dx) * lb->F_011 + X_001(dx) * lb->F_002;
 #endif
 #if SELF_GRAVITY_MULTIPOLE_ORDER > 2
+
   /* 2nd order interaction */
   gp->a_grav[0] +=
       X_200(dx) * lb->F_300 + X_020(dx) * lb->F_120 + X_002(dx) * lb->F_102;
diff --git a/src/runner_doiact_grav.h b/src/runner_doiact_grav.h
index 4ff2abcfb095965518c185446b2703816dccbbc2..c3a7f45b5ac4c3bbfeed04db6203b120f2e96e41 100644
--- a/src/runner_doiact_grav.h
+++ b/src/runner_doiact_grav.h
@@ -25,6 +25,14 @@
 #include "gravity.h"
 #include "part.h"
 
+/**
+ * @brief Recursively propagate the multipoles down the tree by applying the
+ * L2L and L2P kernels.
+ *
+ * @param r The #runner.
+ * @param c The #cell we are working on.
+ * @param timer Are we timing this ?
+ */
 void runner_do_grav_down(struct runner *r, struct cell *c, int timer) {
 
   const struct engine *e = r->e;
@@ -114,62 +122,6 @@ void runner_dopair_grav_pm(const struct runner *r,
                            const struct cell *restrict cj) {
 
   error("Function should not be called");
-
-  /*   const struct engine *e = r->e; */
-  /*   const int gcount = ci->gcount; */
-  /*   struct gpart *restrict gparts = ci->gparts; */
-  /*   const struct gravity_tensors *multi = cj->multipole; */
-  /*   const float a_smooth = e->gravity_properties->a_smooth; */
-  /*   const float rlr_inv = 1. / (a_smooth * ci->super->width[0]); */
-
-  /*   TIMER_TIC; */
-
-  /* #ifdef SWIFT_DEBUG_CHECKS */
-  /*   if (gcount == 0) error("Empty cell!"); */
-
-  /*   if (multi->m_pole.mass == 0.0) */
-  /*     error("Multipole does not seem to have been set."); */
-  /* #endif */
-
-  /*   /\* Anything to do here? *\/ */
-  /*   if (!cell_is_active(ci, e)) return; */
-
-  /* #if ICHECK > 0 */
-  /*   for (int pid = 0; pid < gcount; pid++) { */
-
-  /*     /\* Get a hold of the ith part in ci. *\/ */
-  /*     struct gpart *restrict gp = &gparts[pid]; */
-
-  /*     if (gp->id_or_neg_offset == ICHECK) */
-  /*       message("id=%lld loc=[ %f %f %f ] size= %f count= %d", */
-  /*               gp->id_or_neg_offset, cj->loc[0], cj->loc[1], cj->loc[2], */
-  /*               cj->width[0], cj->gcount); */
-  /*   } */
-  /* #endif */
-
-  /*   /\* Loop over every particle in leaf. *\/ */
-  /*   for (int pid = 0; pid < gcount; pid++) { */
-
-  /*     /\* Get a hold of the ith part in ci. *\/ */
-  /*     struct gpart *restrict gp = &gparts[pid]; */
-
-  /*     if (!gpart_is_active(gp, e)) continue; */
-
-  /*     /\* Compute the pairwise distance. *\/ */
-  /*     const float dx[3] = {multi->CoM[0] - gp->x[0],   // x */
-  /*                          multi->CoM[1] - gp->x[1],   // y */
-  /*                          multi->CoM[2] - gp->x[2]};  // z */
-  /*     const float r2 = dx[0] * dx[0] + dx[1] * dx[1] + dx[2] * dx[2]; */
-
-  /*     /\* Interact !*\/ */
-  /*     runner_iact_grav_pm(rlr_inv, r2, dx, gp, &multi->m_pole); */
-
-  /* #ifdef SWIFT_DEBUG_CHECKS */
-  /*     gp->mass_interacted += multi->m_pole.mass; */
-  /* #endif */
-  /*   } */
-
-  /*   TIMER_TOC(timer_dopair_grav_pm); */
 }
 
 /**
@@ -307,8 +259,7 @@ void runner_doself_grav_pp(struct runner *r, struct cell *c) {
   TIMER_TIC;
 
 #ifdef SWIFT_DEBUG_CHECKS
-  if (c->gcount == 0)  // MATTHIEU sanity check
-    error("Empty cell !");
+  if (c->gcount == 0) error("Doing self gravity on an empty cell !");
 #endif
 
   /* Anything to do here? */
@@ -403,7 +354,8 @@ void runner_dopair_grav(struct runner *r, struct cell *ci, struct cell *cj,
   const int gcount_j = cj->gcount;
 
   /* Early abort? */
-  if (gcount_i == 0 || gcount_j == 0) error("Empty cell !");
+  if (gcount_i == 0 || gcount_j == 0)
+    error("Doing pair gravity on an empty cell !");
 
   /* Bad stuff will happen if cell sizes are different */
   if (ci->width[0] != cj->width[0])
@@ -500,7 +452,7 @@ void runner_doself_grav(struct runner *r, struct cell *c, int gettimer) {
 #ifdef SWIFT_DEBUG_CHECKS
 
   /* Early abort? */
-  if (c->gcount == 0) error("Empty cell !");
+  if (c->gcount == 0) error("Doing self gravity on an empty cell !");
 #endif
 
   TIMER_TIC;
@@ -594,8 +546,7 @@ void runner_do_grav_long_range(struct runner *r, struct cell *ci, int timer) {
     /*                       cj->loc[1] - pos_i[1],   // y */
     /*                       cj->loc[2] - pos_i[2]};  // z */
     /* const double r2 = dx[0] * dx[0] + dx[1] * dx[1] + dx[2] * dx[2]; */
-
-    // if (r2 > max_d2) continue;
+    /* if (r2 > max_d2) continue; */
 
     if (!cell_are_neighbours(ci, cj)) runner_dopair_grav_mm(r, ci, cj);
   }