diff --git a/roles/slurm/templates/slurm.conf.j2 b/roles/slurm/templates/slurm.conf.j2
index b5475d92d5575ff4a13f7441816856608d42cfbe..1afeab1961db6731b9a25052e8d7c844e3a16d45 100644
--- a/roles/slurm/templates/slurm.conf.j2
+++ b/roles/slurm/templates/slurm.conf.j2
@@ -91,12 +91,19 @@ JobCompType=jobcomp/none
 #AccountingStoragePass=
 #AccountingStorageUser=
 #
+MpiParams=ports=12000-12999
 # COMPUTE NODES
+{% set nodelist = [] %}
 {% for queue in slurmqueues %}
 {% for node in groups[queue.group] %}
-NodeName={{ node }} Procs={{ hostvars[node]['ansible_processor_cores'] }} State=UNKNOWN
+{% if nodelist.append(node) %}
+{% endif %}
+{% endfor %}
 {% endfor %}
+{% for node in nodelist|unique %}
+NodeName={{ node }} Procs={{ hostvars[node]['ansible_processor_cores'] }} State=UNKNOWN
 {% endfor %}
+
 {% for queue in slurmqueues %}
 PartitionName={{ queue.name }} Nodes={{ groups[queue.group]|join(',') }}
 {% endfor %}