diff --git a/src/runner_doiact_vec.c b/src/runner_doiact_vec.c
index 3be71c78167fc67b6491ea2cc43a3b912ea5fdcf..e00409c15701802bb94530ccbb066e9c15ec7958 100644
--- a/src/runner_doiact_vec.c
+++ b/src/runner_doiact_vec.c
@@ -746,6 +746,9 @@ for (int pid = 0; pid < count; pid++) {
       v_hj.v = vec_load(&cell_cache->h[pjd]);
       v_hj_inv = vec_reciprocal(v_hj);
 
+      /* To stop floating point exceptions for when particle separations are 0. */
+      v_r2.v = vec_add(v_r2.v, vec_set1(FLT_MIN));
+
       runner_iact_nonsym_1_vec_force(
               &v_r2, &v_dx, &v_dy, &v_dz, v_vix, v_viy, v_viz, 
               v_rhoi, v_grad_hi, v_pOrhoi2, v_balsara_i, v_ci,