diff --git a/var/spack/packages/openmpi/configure.patch b/var/spack/packages/openmpi/configure.patch
new file mode 100644
index 0000000000000000000000000000000000000000..18fb42c1d1656d6ca2a0ec339a5c35f07cf911fb
--- /dev/null
+++ b/var/spack/packages/openmpi/configure.patch
@@ -0,0 +1,31 @@
+This patch addresses <https://github.com/open-mpi/ompi/issues/576>.
+--- a/configure
++++ b/configure
+@@ -301130,10 +301130,11 @@
+     case ${prev}${p} in
+ 
+     -L* | -R* | -l*)
+-       # Some compilers place space between "-{L,R}" and the path.
++       # Some compilers place space between "-{L,R,l}" and the path.
+        # Remove the space.
+        if test $p = "-L" ||
+-          test $p = "-R"; then
++          test $p = "-R" ||
++          test $p = "-l"; then
+ 	 prev=$p
+ 	 continue
+        fi
+@@ -303036,10 +303037,11 @@
+     case ${prev}${p} in
+ 
+     -L* | -R* | -l*)
+-       # Some compilers place space between "-{L,R}" and the path.
++       # Some compilers place space between "-{L,R,l}" and the path.
+        # Remove the space.
+        if test $p = "-L" ||
+-          test $p = "-R"; then
++          test $p = "-R" ||
++          test $p = "-l"; then
+ 	 prev=$p
+ 	 continue
+        fi
diff --git a/var/spack/packages/openmpi/package.py b/var/spack/packages/openmpi/package.py
index 5e429dedf5c42508b94b9e978579624bdfc9e2c1..be2202fbbd7f9fd51b2272de76cf0eb66abc17c8 100644
--- a/var/spack/packages/openmpi/package.py
+++ b/var/spack/packages/openmpi/package.py
@@ -14,6 +14,8 @@ class Openmpi(Package):
 
     homepage = "http://www.open-mpi.org"
 
+    version('1.10.1', 'f0fcd77ed345b7eafb431968124ba16e',
+            url = "http://www.open-mpi.org/software/ompi/v1.10/downloads/openmpi-1.10.1.tar.bz2")
     version('1.10.0', '280cf952de68369cebaca886c5ce0304',
             url = "http://www.open-mpi.org/software/ompi/v1.10/downloads/openmpi-1.10.0.tar.bz2")
     version('1.8.8', '0dab8e602372da1425e9242ae37faf8c',
@@ -23,10 +25,15 @@ class Openmpi(Package):
 
     patch('ad_lustre_rwcontig_open_source.patch', when="@1.6.5")
     patch('llnl-platforms.patch', when="@1.6.5")
+    patch('configure.patch', when="@1.10.0:")
 
     provides('mpi@:2.2', when='@1.6.5')    # Open MPI 1.6.5 supports MPI-2.2
     provides('mpi@:3.0', when='@1.8.8')    # Open MPI 1.8.8 supports MPI-3.0
     provides('mpi@:3.0', when='@1.10.0')   # Open MPI 1.10.0 supports MPI-3.0
+    provides('mpi@:3.0', when='@1.10.1')   # Open MPI 1.10.1 supports MPI-3.0
+
+
+    depends_on('hwloc')
 
 
     def setup_dependent_environment(self, module, spec, dep_spec):
@@ -40,6 +47,8 @@ def setup_dependent_environment(self, module, spec, dep_spec):
     def install(self, spec, prefix):
         config_args = ["--prefix=%s" % prefix]
 
+        config_args.append("--with-hwloc=%s" % spec['hwloc'].prefix)
+
         # TODO: use variants for this, e.g. +lanl, +llnl, etc.
         # use this for LANL builds, but for LLNL builds, we need:
         #     "--with-platform=contrib/platform/llnl/optimized"