diff --git a/lib/spack/spack/package.py b/lib/spack/spack/package.py
index f1c4e22053f312a09653c3696b271c1a9063d912..372f1f61a50764bf9df9de6cfc87b95b9bb1eef6 100644
--- a/lib/spack/spack/package.py
+++ b/lib/spack/spack/package.py
@@ -707,7 +707,10 @@ def prefix_lock(self):
 
             if not os.path.exists(lock_file):
                 tty.debug('TOUCH FILE : {0}'.format(lock_file))
-                os.makedirs(dirname)
+                try:
+                    os.makedirs(dirname)
+                except OSError:
+                    pass
                 touch(lock_file)
 
             self._prefix_lock = llnl.util.lock.Lock(lock_file)