diff --git a/CMakeLists.txt b/CMakeLists.txt
index d4cd87e44c0b4306f4bed59f10685b0bf723a0a6..f51b8f5324c6b1fef8caac5c83e3212d85801540 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -127,20 +127,23 @@ endif()
 #----------------------------------------------------------
 # MPI support
 #----------------------------------------------------------
-option(NMC_WITH_MPI "use MPI for distrubuted parallelism" OFF)
-
+option(NMC_WITH_MPI "use MPI for distributed parallelism" OFF)
 if(NMC_WITH_MPI)
-    find_package(MPI REQUIRED)
+   # BGQ specific flags
+   if(${NMC_SYSTEM_TYPE} MATCHES "BGQ" )
+      # On BGQ, set CXX to the mpi wrapper, and pass it a static
+      add_definitions(-DMPICH2_CONST=const)
+      set(MPI_FOUND TRUE)
+    endif()
+    
+    if (NOT MPI_FOUND)
+      find_package(MPI REQUIRED)
+    endif()
     include_directories(SYSTEM ${MPI_C_INCLUDE_PATH})
     add_definitions(-DNMC_HAVE_MPI)
     # unfortunate workaround for C++ detection in system mpi.h
     add_definitions(-DMPICH_SKIP_MPICXX=1 -DOMPI_SKIP_MPICXX=1)
     set_property(DIRECTORY APPEND_STRING PROPERTY COMPILE_OPTIONS "${MPI_C_COMPILE_FLAGS}")
-
-    # BGQ specific flags
-   if(${NMC_SYSTEM_TYPE} MATCHES "BGQ" )
-     add_definitions(-DMPICH2_CONST=const)
-   endif()
 endif()
 
 #----------------------------------------------------------