diff --git a/roles/enable_modules/tasks/main.yml b/roles/enable_modules/tasks/main.yml
index 3ae936b3b0b2aac7da49cb17a98db177259584fd..77e5c1fc305dffe2dc191f8100da6186be22777a 100644
--- a/roles/enable_modules/tasks/main.yml
+++ b/roles/enable_modules/tasks/main.yml
@@ -30,6 +30,12 @@
   become_user: root
   when: default_modules == "modulecmd"
 
+- name: template patchmodulecmd bash
+  template: src=patchmodulecmd.sh.j2 dest=/etc/profile.d/patchmodulecmd.sh.j2
+  become: true
+  become_user: root
+  when: default_modules == "modulecmd"
+
 - name: template modulecmd csh
   template: src=modulecmd.csh.j2 dest=/etc/profile.d/modulecmd.csh
   become: true
diff --git a/roles/enable_modules/templates/patchmodulecmd.sh.j2 b/roles/enable_modules/templates/patchmodulecmd.sh.j2
new file mode 100644
index 0000000000000000000000000000000000000000..c467fa83290b2cb8f7d2edd4904c9732af7d9ac8
--- /dev/null
+++ b/roles/enable_modules/templates/patchmodulecmd.sh.j2
@@ -0,0 +1,4 @@
+
+module() { eval `/usr/bin/modulecmd bash $*`;  /usr/local/bin/modulelog $*;}
+export -f module
+