diff --git a/src/mesh_gravity.c b/src/mesh_gravity.c
index bf0519842eb620e0ff4d8cd0cda05a9395c9722f..9efd8c03966cdfb230f48bedaeb2e4cfab3c1368 100644
--- a/src/mesh_gravity.c
+++ b/src/mesh_gravity.c
@@ -624,6 +624,11 @@ void pm_mesh_init(struct pm_mesh* mesh, const struct gravity_props* props,
   mesh->r_cut_max = mesh->r_s * props->r_cut_max_ratio;
   mesh->r_cut_min = mesh->r_s * props->r_cut_min_ratio;
 
+  if (mesh->N > 1290)
+    error(
+        "Mesh too big. The number of cells is larger than 2^31. "
+        "Use a mesh side-length <= 1290.");
+
   if (2. * mesh->r_cut_max > box_size)
     error("Mesh too small or r_cut_max too big for this box size");