diff -u original/FindMPI.cmake patched/FindMPI.cmake
--- original/FindMPI.cmake	2013-08-09 16:25:48.927064275 +0200
+++ patched/FindMPI.cmake	2013-08-09 16:25:59.515064660 +0200
@@ -503,6 +503,7 @@
 # Most mpi distros have some form of mpiexec which gives us something we can reliably look for.
 find_program(MPIEXEC
   NAMES ${_MPI_EXEC_NAMES}
+  HINTS "${MPI_HOME}" "$ENV{MPI_HOME}"
   PATHS ${_MPI_PREFIX_PATH}
   PATH_SUFFIXES bin
   DOC "Executable for running MPI programs.")
@@ -565,7 +566,8 @@
 
     find_program(MPI_${lang}_COMPILER
       NAMES  ${_MPI_${lang}_COMPILER_NAMES}
-      PATHS  "${MPI_HOME}/bin" "$ENV{MPI_HOME}/bin" ${_MPI_PREFIX_PATH})
+      HINTS "${_MPI_BASE_DIR}/bin"
+      PATHS ${_MPI_PREFIX_PATH})
     interrogate_mpi_compiler(${lang} ${try_libs})
     mark_as_advanced(MPI_${lang}_COMPILER)
 
