diff --git a/src/gravity/MultiSoftening/gravity.h b/src/gravity/MultiSoftening/gravity.h
index 10b956dc24e01cb1b23bf0bc6efa0c7e7e714979..001883a1e8da681168dea8c0ada1d27ebc64f495 100644
--- a/src/gravity/MultiSoftening/gravity.h
+++ b/src/gravity/MultiSoftening/gravity.h
@@ -160,7 +160,6 @@ __attribute__((always_inline)) INLINE static void gravity_init_gpart(
   gp->a_grav[1] = 0.f;
   gp->a_grav[2] = 0.f;
   gp->potential = 0.f;
-  gp->old_a_grav_norm = 0.f;
 
 #ifdef SWIFT_GRAVITY_FORCE_CHECKS
   gp->potential_PM = 0.f;
@@ -215,6 +214,10 @@ __attribute__((always_inline)) INLINE static void gravity_end_force(
 
   gp->old_a_grav_norm = sqrtf(gp->old_a_grav_norm);
 
+#ifdef SWIFT_DEBUG_CHECKS
+  if (gp->old_a_grav_norm == 0.f) error("Old acceleration is 0!");
+#endif
+
   /* Let's get physical... */
   gp->a_grav[0] *= const_G;
   gp->a_grav[1] *= const_G;
@@ -267,6 +270,7 @@ __attribute__((always_inline)) INLINE static void gravity_first_init_gpart(
     struct gpart* gp, const struct gravity_props* grav_props) {
 
   gp->time_bin = 0;
+  gp->old_a_grav_norm = 0.f;
 
   gravity_init_gpart(gp);
 }