diff --git a/meshmode/mesh/generation.py b/meshmode/mesh/generation.py
index 6f3e76ccdae5f0aaef2c257c3640896b326f12b9..f5ffdee6dc7bd982806bca6baa3aa9e2da0770ff 100644
--- a/meshmode/mesh/generation.py
+++ b/meshmode/mesh/generation.py
@@ -196,8 +196,8 @@ def make_curve_mesh(curve_f, element_boundaries, order):
     egroup = SimplexElementGroup(
             order,
             vertex_indices=np.vstack([
-                np.arange(nelements),
-                np.arange(1, nelements+1) % nelements,
+                np.arange(nelements, dtype=np.int32),
+                np.arange(1, nelements+1, dtype=np.int32) % nelements,
                 ]).T,
             nodes=nodes,
             unit_nodes=unodes)