diff --git a/roles/slurm-common/tasks/installSlurmFromSource.yml b/roles/slurm-common/tasks/installSlurmFromSource.yml
index 2e89dc9829365a1cdb009d8b79d9fc83cacaac44..8785c3692b1d6e26e6b6a0caed85f92942e185c1 100644
--- a/roles/slurm-common/tasks/installSlurmFromSource.yml
+++ b/roles/slurm-common/tasks/installSlurmFromSource.yml
@@ -45,6 +45,19 @@
     creates: "{{ slurm_dir }}/bin/srun"
   when: force_slurm_recompile is defined or not stat_srun.stat.exists
 
+- name: build pmi
+  command: make
+  args:
+    chdir: /tmp/slurm-{{ slurm_version }}/contribs/pmi
+  when: force_slurm_recompile is defined or not stat_srun.stat.exists
+
+- name: install pmi
+  shell: make install
+  sudo: true
+  args:
+    chdir: /tmp/slurm-{{ slurm_version }}/contribs/pmi
+  when: force_slurm_recompile is defined or not stat_srun.stat.exists
+
 - name: build pam_slurm
   command: make
   args: