diff --git a/TurTLE/_code.py b/TurTLE/_code.py
index 7c9f4ce169dfb0bf827e50fd5ca8d007a89bdddc..8a74ed4ef3dd9e548d4f98447b545d662900cfd9 100644
--- a/TurTLE/_code.py
+++ b/TurTLE/_code.py
@@ -638,9 +638,16 @@ class _code(_base):
             # if more than one node we requiere to have a multiple of deltanprocs
             nb_processes_per_node = int(nb_cpus_per_node // nb_threads_per_process)
 
-
+        # 2025-04-29
+        # specify number of nodes, number of tasks, and cpus per task
+        # with this setup, SLURM is free to distribute tasks among a fixed
+        # number of nodes.
+        # this version also works for cases when
+        # (number of nodes) * (number of cpus per node)i
+        # is different from
+        # (number of mpi processes) * (number of threads per process).
         script_file.write('#SBATCH --nodes={0}\n'.format(nb_nodes))
-        script_file.write('#SBATCH --ntasks-per-node={0}\n'.format(nb_processes_per_node))
+        script_file.write('#SBATCH --ntasks={0}\n'.format(nb_mpi_processes))
         script_file.write('#SBATCH --cpus-per-task={0}\n'.format(nb_threads_per_process))
 
         script_file.write('#SBATCH --mail-type=none\n')