diff --git a/include/chameleon.h b/include/chameleon.h
index 49e9e4d06cf945c8c636a8717d5f44db5336dcea..e34925827c218b11af541393e4912deb599e7596 100644
--- a/include/chameleon.h
+++ b/include/chameleon.h
@@ -188,26 +188,33 @@ int  CHAMELEON_Recursive_Desc_Create( CHAM_desc_t **descptr, void *mat, cham_flt
  *
  */
 #if defined(CHAMELEON_SCHED_OPENMP)
-#define CHAMELEON_Init(nworkers, ncudas)\
-    __chameleon_init(nworkers, ncudas);\
-    _Pragma("omp parallel")\
-    _Pragma("omp master")\
+#define CHAMELEON_Init( _nworkers_, _ncudas_ )           \
+    __chameleon_init( (_nworkers_), (_ncudas_) );       \
+    _Pragma("omp parallel")                                    \
+    _Pragma("omp master")                                      \
     {
-#define CHAMELEON_InitPar(nworkers, ncudas, nthreads_per_worker)\
-    __chameleon_initpar(nworkers, ncudas, nthreads_per_worker);\
+
+#define CHAMELEON_InitPar( _nworkers_, _ncudas_, _nthreads_per_worker_ ) \
+    __chameleon_initpar( (_nworkers_), (_ncudas_), (_nthreads_per_worker_) ); \
     _Pragma("omp parallel")\
     _Pragma("omp master")\
     {
-#define CHAMELEON_Finalize()\
-    }\
+
+#define CHAMELEON_Finalize()                    \
+    }                                           \
     __chameleon_finalize();
+
 #else
-#define CHAMELEON_Init(nworkers, ncudas)\
-  __chameleon_init(nworkers, ncudas);
-#define CHAMELEON_InitPar(nworkers, ncudas, nthreads_per_worker)\
-  __chameleon_initpar(nworkers, ncudas, nthreads_per_worker);
-#define CHAMELEON_Finalize()\
-  __chameleon_finalize();
+
+#define CHAMELEON_Init( _nworkers_, _ncudas_ )            \
+    __chameleon_init( (_nworkers_), (_ncudas_) );
+
+#define CHAMELEON_InitPar( _nworkers_, _ncudas_, _nthreads_per_worker_ ) \
+    __chameleon_initpar( (_nworkers_), (_ncudas_), (_nthreads_per_worker_) );
+
+#define CHAMELEON_Finalize()                    \
+    __chameleon_finalize();
+
 #endif
 
 END_C_DECLS
diff --git a/runtime/openmp/CMakeLists.txt b/runtime/openmp/CMakeLists.txt
index 1fd0207ad19fdcbd513820cbeb2b02d8ddeb65ff..0a2242ff79a962b8941c48f826e4b8317c30a6b4 100644
--- a/runtime/openmp/CMakeLists.txt
+++ b/runtime/openmp/CMakeLists.txt
@@ -129,7 +129,7 @@ target_include_directories(chameleon_openmp PRIVATE
   $<BUILD_INTERFACE:${CHAMELEON_SOURCE_DIR}/coreblas/include>
   $<BUILD_INTERFACE:${CHAMELEON_BINARY_DIR}/coreblas/include>)
 
-target_link_libraries(chameleon_openmp PRIVATE OpenMP::OpenMP_C)
+target_link_libraries(chameleon_openmp PUBLIC OpenMP::OpenMP_C)
 target_link_libraries(chameleon_openmp PRIVATE coreblas)
 target_link_libraries(chameleon_openmp PRIVATE MORSE::M)
 
diff --git a/testing/chameleon_ztesting.c b/testing/chameleon_ztesting.c
index 6673656658160fd962fd4aff02295bb5fbbb4620..7a47afc1b5c062d7a45a1cbee59403d12a4814cc 100644
--- a/testing/chameleon_ztesting.c
+++ b/testing/chameleon_ztesting.c
@@ -629,7 +629,7 @@ int main (int argc, char **argv) {
 
     if ( rc != CHAMELEON_SUCCESS ) {
         fprintf( stderr, "CHAMELEON_Init failed and returned %d.\n", rc );
-        return EXIT_FAILURE;
+        goto end;
     }
 
     /* Set ncores to the right value */
@@ -656,7 +656,7 @@ int main (int argc, char **argv) {
             fprintf( stderr,
                      "--forcegpu can't be enable without GPU (-g 0).\n"
                      "  Please specify a larger number of GPU or disable this option\n" );
-            return EXIT_FAILURE;
+            goto end;
         }
         RUNTIME_zlocality_allrestrict( RUNTIME_CUDA );
     }
@@ -712,6 +712,8 @@ int main (int argc, char **argv) {
     }
     free( runlist );
 
+  end:
+    ;/* OpenMP end */
     CHAMELEON_Finalize();
     parameters_destroy();