diff --git a/modules/find/FindPASTIX.cmake b/modules/find/FindPASTIX.cmake
index 0123113d37847bacc0a032506279a2ffaf5a234b..f3cca8e692d24ea029ed6b73202d5cac94b9b844 100644
--- a/modules/find/FindPASTIX.cmake
+++ b/modules/find/FindPASTIX.cmake
@@ -449,34 +449,47 @@ list(REMOVE_DUPLICATES _lib_env)
 # ------------------------------------------------
 
 # create list of libs to find
-set(PASTIX_libs_to_find "pastix_murge;pastix")
-
-# call cmake macro to find the lib path
-if(PASTIX_LIBDIR)
+set(PASTIX_libs_to_find_v5 "pastix_murge;pastix")
+set(PASTIX_libs_to_find_v6 "pastix;pastix_kernels;pastix_spm;pastix_bcsc")
+foreach(v 5 6)
+  set(V_FOUND TRUE)
+  set(PASTIX_libs_to_find ${PASTIX_libs_to_find_v${v}})
+  message(STATUS "Looking for pastix -- Testing is version ${v}")
+  # call cmake macro to find the lib path
   foreach(pastix_lib ${PASTIX_libs_to_find})
     set(PASTIX_${pastix_lib}_LIBRARY "PASTIX_${pastix_lib}_LIBRARY-NOTFOUND")
-    find_library(PASTIX_${pastix_lib}_LIBRARY
-      NAMES ${pastix_lib}
-      HINTS ${PASTIX_LIBDIR})
-  endforeach()
-else()
-  if(PASTIX_DIR)
-    foreach(pastix_lib ${PASTIX_libs_to_find})
-      set(PASTIX_${pastix_lib}_LIBRARY "PASTIX_${pastix_lib}_LIBRARY-NOTFOUND")
+    if(PASTIX_LIBDIR)
       find_library(PASTIX_${pastix_lib}_LIBRARY
         NAMES ${pastix_lib}
-        HINTS ${PASTIX_DIR}
-        PATH_SUFFIXES lib lib32 lib64)
-    endforeach()
-  else()
-    foreach(pastix_lib ${PASTIX_libs_to_find})
-      set(PASTIX_${pastix_lib}_LIBRARY "PASTIX_${pastix_lib}_LIBRARY-NOTFOUND")
-      find_library(PASTIX_${pastix_lib}_LIBRARY
-        NAMES ${pastix_lib}
-        HINTS ${_lib_env})
-    endforeach()
+        HINTS ${PASTIX_LIBDIR})
+    else()
+      if(PASTIX_DIR)
+        find_library(PASTIX_${pastix_lib}_LIBRARY
+          NAMES ${pastix_lib}
+          HINTS ${PASTIX_DIR}
+          PATH_SUFFIXES lib lib32 lib64)
+      else()
+        find_library(PASTIX_${pastix_lib}_LIBRARY
+          NAMES ${pastix_lib}
+          HINTS ${_lib_env})
+      endif()
+    endif()
+    if (NOT PASTIX_${pastix_lib}_LIBRARY)
+      set (V_FOUND FALSE)
+      break()
+    endif()
+  endforeach()
+  if (V_FOUND)
+    set(PASTIX_VERSION_MAJOR ${v})
+    message(STATUS "Looking for pastix -- major version detected: ${PASTIX_VERSION_MAJOR}")
+    if (PASTIX_FIND_VERSION)
+      if (NOT ${PASTIX_VERSION_MAJOR} EQUAL ${PASTIX_FIND_VERSION_MAJOR})
+        message(FATAL_ERROR "Looking for pastix -- PaStiX version found differ from required")
+      endif()
+    endif()
+    break()
   endif()
-endif()
+endforeach()
 
 # If found, add path to cmake variable
 # ------------------------------------