diff --git a/cmake/FindParMETIS.cmake b/cmake/FindParMETIS.cmake
index 71e47b3c0dcc74f3d5bbfe743a084ec405778aa0..d9b91d33d92617f3282d4eac2184549b62f62418 100644
--- a/cmake/FindParMETIS.cmake
+++ b/cmake/FindParMETIS.cmake
@@ -1,22 +1,29 @@
 # Looking for ParMETIS
 
+
 find_path(PARMETIS_INCLUDE_DIR parmetis.h
-  PATH_SUFFIX include parmetis)
+  PATH_SUFFIX include parmetis $ENV{PARMETIS_INCDIR})
 
-if (EXISTS "${PARMETIS_INCLUDE_DIR}/parmetis.h")
+if(EXISTS "${PARMETIS_INCLUDE_DIR}/parmetis.h")
   message(STATUS "Found parmetis.h in ${PARMETIS_INCLUDE_DIR}")
-  find_library(LIB_PARMETIS parmetis)
+  find_library(LIB_PARMETIS parmetis $ENV{PARMETIS_LIBDIR})
   if("${LIB_PARMETIS}" STREQUAL "LIB_PARMETIS-NOTFOUND")
-    message("** Could not find parmetis library")
+    message(WARNING "** Could not find parmetis library.\n** Is PARMETIS_LIBDIR correctly set (Actual: \"$ENV{PARMETIS_LIBDIR}\")?")
   endif()
-  find_library(LIB_METIS metis)
+  find_library(LIB_METIS metis $ENV{METIS_LIBDIR})
   if("${LIB_PARMETIS}" STREQUAL "LIB_METIS-NOTFOUND")
-    message("** Could not find metis library")
+    message(WARNING "** Could not find metis library.\n** Is METIS_LIBDIR correctly set (Actual: \"$ENV{METIS_LIBDIR}\")?")
+  endif()
+  find_path(METIS_INCLUDE_DIR metis.h $ENV{METIS_INCDIR})
+  if(EXISTS "${METIS_INCLUDE_DIR}/metis.h")
+    message(STATUS "Found metis.h in ${METIS_INCLUDE_DIR}")
+    set(PARMETIS_LIBRARIES ${LIB_PARMETIS} ${LIB_METIS})
+    message(STATUS "Found parmetis/metis libraries ${PARMETIS_LIBRARIES}")
+    else()
+      message(WARNING "** Could not find metis.h.\n** Is METIS_INCDIR correctly set (Actual: \"$ENV{METIS_INCDIR}\")?")
   endif()
-  set(PARMETIS_LIBRARIES ${LIB_PARMETIS} ${LIB_METIS})
-  message(STATUS "Found parmetis/metis libraries ${PARMETIS_LIBRARIES}")
 else()
-  message("** Could not find parmetis.h")
+  message(WARNING "** Could not find parmetis.h.\n** Is PARMETIS_INCDIR correctly set (Actual: \"$ENV{PARMETIS_INCDIR}\")?")
 endif()
 
 mark_as_advanced(PARMETIS_INCLUDE_DIR PARMETIS_LIBRARIES)
diff --git a/src/utils/CMakeLists.txt b/src/utils/CMakeLists.txt
index b5a383c9c7d05088ef840d10b58fc57daa5cea04..c05afb4659617f413d533c06b98c82c4d823c5c2 100644
--- a/src/utils/CMakeLists.txt
+++ b/src/utils/CMakeLists.txt
@@ -22,6 +22,11 @@ add_library(
   SLEPcWrapper.cpp
   Socket.cpp)
 
+if(${MPI_FOUND})
+  target_include_directories(PugsUtils PRIVATE ${PARMETIS_INCLUDE_DIR})
+  target_include_directories(PugsUtils PRIVATE ${METIS_INCLUDE_DIR})
+endif()
+
 target_link_libraries(
   PugsUtils
   ${PETSC_LIBRARIES}