diff --git a/src/space.c b/src/space.c
index 1b60d924742df427f57a9df8350deae953b41e54..67c3494dd892f864910e7d7bca0eeb1c18a45018 100644
--- a/src/space.c
+++ b/src/space.c
@@ -1071,6 +1071,17 @@ void space_init(struct space *s, struct swift_params *params,
   s->sum_bpart_vel_norm = 0.f;
   s->nr_queues = 1; /* Temporary value until engine construction */
 
+  /* do a quick check that the box size has valid values */
+#if defined HYDRO_DIMENSION_1D
+  if (dim[0] <= 0.) error("Invalid box size: [%f]", dim[0]);
+#elif defined HYDRO_DIMENSION_2D
+  if (dim[0] <= 0. || dim[1] <= 0.)
+    error("Invalid box size: [%f, %f]", dim[0], dim[1]);
+#else
+  if (dim[0] <= 0. || dim[1] <= 0. || dim[2] <= 0.)
+    error("Invalid box size: [%f, %f, %f]", dim[0], dim[1], dim[2]);
+#endif
+
   /* Initiate some basic randomness */
   srand(42);