diff --git a/CMakeLists.txt b/CMakeLists.txt
index f88d079c6239902975f10d903fb95005f6004408..eb9713449e6cc51e27ddbc176fac7308f9fe9a73 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -91,6 +91,19 @@ if(MKL_FOUND)
   set(CBLAS_INCLUDE_DIR ${MKL_INCLUDE_DIRS})
 endif()
 
+# ========================
+# CHAMELEON
+# (Look for it before hmat so it defines h-mat first if included)
+# ========================
+if ( NOT TARGET CHAMELEON::chameleon )
+  find_package(CHAMELEON)
+  if(CHAMELEON_FOUND)
+    set(HAVE_CHAMELEON TRUE)
+  endif()
+else()
+  set(HAVE_CHAMELEON TRUE)
+endif()
+
 # ========================
 # HMAT-OSS
 # ========================
@@ -110,18 +123,6 @@ else()
   set(HAVE_HMAT TRUE)
 endif()
 
-# ========================
-# CHAMELEON
-# ========================
-if ( NOT TARGET CHAMELEON::chameleon )
-  find_package(CHAMELEON)
-  if(CHAMELEON_FOUND)
-    set(HAVE_CHAMELEON TRUE)
-  endif()
-else()
-  set(HAVE_CHAMELEON TRUE)
-endif()
-
 # ========================
 # HLIBPRO
 # ========================