diff --git a/CMakeLists.txt b/CMakeLists.txt
index 10995874eee7a8e98af24091f2cd63a3536fb7bc..fb4bd33318661489e345673f7b8688f262d5f717 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -738,7 +738,8 @@ if(HAVE_MESH OR HAVE_SOLVER)
     # Gmsh currently uses Metis 4 - we should switch to Metis 5 and use the
     # system lib if available
     add_subdirectory(contrib/Metis)
-    include_directories(contrib/Metis)
+    # make sure to include path before any (system) Metis 5 directories
+    include_directories(BEFORE contrib/Metis)
     set_config_option(HAVE_METIS "Metis")
     message(STATUS "Note: By including Metis you have to comply with Metis' "
             "special licensing requirements stated in contrib/Metis/README.txt.")