diff --git a/src/engine.c b/src/engine.c
index d0668fa3c33f2a17ae112216d3b33d031376277e..9d5ae94f045b8a174bc7b486fbd9788170d81b6e 100644
--- a/src/engine.c
+++ b/src/engine.c
@@ -2746,6 +2746,9 @@ void engine_link_gravity_tasks(struct engine *e) {
     /* Get a pointer to the task. */
     struct task *t = &sched->tasks[k];
 
+    if(t->type == task_type_none)
+      continue;
+
     /* Get the cells we act on */
     struct cell *ci = t->ci;
     struct cell *cj = t->cj;
diff --git a/src/multipole.h b/src/multipole.h
index b9407d7698146520fed8331697fd539df5a0780a..c05aa36890313ea22f725ee272746bdf63f597ea 100644
--- a/src/multipole.h
+++ b/src/multipole.h
@@ -240,17 +240,17 @@ INLINE static void gravity_drift(struct gravity_tensors *m, double dt) {
   m->CoM[2] += dz;
 
 #ifdef SWIFT_DEBUG_CHECKS
-  if (m->m_pole.vel[0] > m->m_pole.max_delta_vel[0])
+  if (m->m_pole.vel[0] > m->m_pole.max_delta_vel[0] * 1.1)
     error("Invalid maximal velocity");
-  if (m->m_pole.vel[0] < m->m_pole.min_delta_vel[0])
+  if (m->m_pole.vel[0] < m->m_pole.min_delta_vel[0] * 1.1)
     error("Invalid minimal velocity");
-  if (m->m_pole.vel[1] > m->m_pole.max_delta_vel[1])
+  if (m->m_pole.vel[1] > m->m_pole.max_delta_vel[1] * 1.1)
     error("Invalid maximal velocity");
-  if (m->m_pole.vel[1] < m->m_pole.min_delta_vel[1])
+  if (m->m_pole.vel[1] < m->m_pole.min_delta_vel[1] * 1.1)
     error("Invalid minimal velocity");
-  if (m->m_pole.vel[2] > m->m_pole.max_delta_vel[2])
+  if (m->m_pole.vel[2] > m->m_pole.max_delta_vel[2] * 1.1)
     error("Invalid maximal velocity");
-  if (m->m_pole.vel[2] < m->m_pole.min_delta_vel[2])
+  if (m->m_pole.vel[2] < m->m_pole.min_delta_vel[2] * 1.1)
     error("Invalid minimal velocity");
 #endif
 
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 */