diff --git a/compute/CMakeLists.txt b/compute/CMakeLists.txt
index 815d613b3b4b512fcd8a5d4963c272890fc6d248..1f6592d6923ba811c4c33dc8f1ec542b921f97f0 100644
--- a/compute/CMakeLists.txt
+++ b/compute/CMakeLists.txt
@@ -296,7 +296,9 @@ elseif(CHAMELEON_SCHED_QUARK)
   list(INSERT CHAMELEON_DEP 0 -lchameleon_quark)
 endif()
 if (NOT CHAMELEON_SIMULATION)
-    target_link_libraries(chameleon coreblas)
+  add_dependencies(chameleon
+    coreblas_include)
+  target_link_libraries(chameleon coreblas)
 endif()
 target_link_libraries(chameleon hqr)
 list(INSERT CHAMELEON_DEP 0 -lchameleon)
diff --git a/control/context.c b/control/context.c
index 0204a1f48bca8a0539ac2d85d8a2d1b70177aae2..7f0d67fc96f0aa0b6030c50209996b36ab5f03f9 100644
--- a/control/context.c
+++ b/control/context.c
@@ -43,6 +43,10 @@
 #include "control/context.h"
 #include "chameleon/morse_runtime.h"
 
+#if !defined(CHAMELEON_SIMULATION)
+#include "coreblas.h"
+#endif
+
 /*******************************************************************************
  *  Global data
  **/
@@ -163,7 +167,7 @@ int MORSE_Enable(MORSE_enum option)
             morse->progress_enabled = MORSE_TRUE;
             break;
         case MORSE_GEMM3M:
-#ifdef CBLAS_HAS_ZGEMM3M
+#if defined(CBLAS_HAS_ZGEMM3M) && !defined(CHAMELEON_SIMULATION)
             set_coreblas_gemm3m_enabled(1);
 #else
             morse_error("MORSE_Enable", "cannot enable GEMM3M (not available in cblas)");
@@ -231,7 +235,7 @@ int MORSE_Disable(MORSE_enum option)
             morse->progress_enabled = MORSE_FALSE;
             break;
         case MORSE_GEMM3M:
-#if !defined(CHAMELEON_SIMULATION)
+#if defined(CBLAS_HAS_ZGEMM3M) && !defined(CHAMELEON_SIMULATION)
             set_coreblas_gemm3m_enabled(0);
 #endif
             break;
diff --git a/coreblas/compute/global.c b/coreblas/compute/global.c
index fb59b345eed9fe16570a165b08a07ef44522ab55..4df21b9aeece70f990d277dec4aeeadb5fa8fd92 100644
--- a/coreblas/compute/global.c
+++ b/coreblas/compute/global.c
@@ -23,13 +23,16 @@
  *
  **/
 
-static int coreblas_gemm3m_enabled=0;
+static int coreblas_gemm3m_enabled = 0;
 
-void set_coreblas_gemm3m_enabled(int v) {
-  coreblas_gemm3m_enabled=v;
+void
+set_coreblas_gemm3m_enabled( int v ) {
+    coreblas_gemm3m_enabled = v;
 }
-int get_coreblas_gemm3m_enabled(void) {
-  return coreblas_gemm3m_enabled;
+
+int
+get_coreblas_gemm3m_enabled(void) {
+    return coreblas_gemm3m_enabled;
 }
 
 /*******************************************************************************