diff --git a/src/gravity_properties.c b/src/gravity_properties.c
index 79be11a8bab2389c19c58a59851379ea23d5fb3f..928765cc14f856929cb30e936c6044d87b70186a 100644
--- a/src/gravity_properties.c
+++ b/src/gravity_properties.c
@@ -48,6 +48,9 @@ void gravity_props_init(struct gravity_props *p,
   p->r_cut_min = parser_get_opt_param_float(params, "Gravity:r_cut_min",
                                             gravity_props_default_r_cut_min);
 
+  if (p->a_smooth <= 0.)
+    error("The mesh smoothing scale 'a_smooth' must be > 0.");
+
   /* Time integration */
   p->eta = parser_get_param_float(params, "Gravity:eta");
 
diff --git a/src/runner_doiact_fft.c b/src/runner_doiact_fft.c
index 97283542f43a139afbff6073dde7a77cbcf094e2..9bcf69feda6c6d237baa3eaac38ae7c9536b052c 100644
--- a/src/runner_doiact_fft.c
+++ b/src/runner_doiact_fft.c
@@ -454,6 +454,7 @@ void runner_do_grav_fft(struct runner* r, int timer) {
   TIMER_TIC;
 
   if (cdim[0] != cdim[1] || cdim[0] != cdim[2]) error("Non-square mesh");
+  if (a_smooth <= 0.) error("Invalid value of a_smooth");
 
   /* Some useful constants */
   const int N = cdim[0];
diff --git a/tests/fft_params.yml b/tests/fft_params.yml
index 6938e3658148874e58f50ab768a5e1fbc41d9573..ff32d83d4811162141f8723739bb0c93c992d81b 100644
--- a/tests/fft_params.yml
+++ b/tests/fft_params.yml
@@ -7,5 +7,5 @@ Gravity:
   theta:                  0.7        # Opening angle (Multipole acceptance criterion)
   comoving_softening:     0.00001    # Comoving softening length (in internal units).
   max_physical_softening: 0.00001    # Physical softening length (in internal units).
-  a_smooth:               0.
+  a_smooth:               0.00001
   r_cut:                  0.