diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0ed103c8117bca3e6f6dfb6839e7af4d9acb2971..c7f2d4c0431f25074894277be025fe207bbb5cb7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -112,6 +112,26 @@ if (PUGS_ENABLE_MPI MATCHES "^(AUTO|ON)$")
   find_package(MPI)
 endif()
 
+
+#------------------------------------------------------
+# Search for ParMETIS
+
+if(${MPI_FOUND})
+  find_package(ParMETIS)
+  if (NOT PARMETIS_LIBRARIES)
+    if(PUGS_ENABLE_MPI MATCHES "^AUTO$")
+      message(WARNING "MPI support deactivated: ParMETIS cannot be found!")
+      unset(MPI_FOUND)
+      unset(MPI_CXX_LINK_FLAGS)
+      unset(MPI_CXX_LIBRARIES)
+    else()
+      message(FATAL_ERROR "MPI support requires ParMETIS which cannot be found!")
+    endif()
+  endif()
+endif()
+
+# -----------------------------------------------------
+
 if (${MPI_FOUND})
   set(PUGS_CXX_FLAGS "${PUGS_CXX_FLAGS} ${MPI_CXX_COMPILER_FLAGS}")
   include_directories(SYSTEM ${MPI_CXX_INCLUDE_DIRS})
@@ -308,13 +328,6 @@ if("${CMAKE_BUILD_TYPE}" STREQUAL "Coverage")
   endif()
 endif()
 
-#------------------------------------------------------
-# Search for ParMETIS
-
-if(${MPI_FOUND})
-  find_package(ParMETIS REQUIRED)
-endif()
-
 # -----------------------------------------------------
 
 link_libraries("-rdynamic")