diff --git a/var/spack/repos/builtin/packages/espresso/package.py b/var/spack/repos/builtin/packages/espresso/package.py
index 167bb38e381b4fa4e4e5b0a2079dfb674c7ae93e..0dad57a9f61b8aac9d513b3a801d921262360aad 100644
--- a/var/spack/repos/builtin/packages/espresso/package.py
+++ b/var/spack/repos/builtin/packages/espresso/package.py
@@ -33,6 +33,7 @@ def check_variants(self, spec):
             raise RuntimeError(error.format(variant='elpa'))
 
     def install(self, spec, prefix):
+        from glob import glob
         self.check_variants(spec)
 
         options = ['-prefix=%s' % prefix.bin]
@@ -61,5 +62,11 @@ def install(self, spec, prefix):
 
         configure(*options)
         make('all')
-        make('install')        
+
+        if spec.architecture.startswith('darwin'):
+            mkdirp(prefix.bin)
+            for filename in glob("bin/*.x"):
+                install(filename, prefix.bin)
+        else:
+            make('install')