diff --git a/CMakeLists.txt b/CMakeLists.txt
index 44019bf5462cd6145205593b869f9429b624dcf0..b65b2961ccecb9369401e3d30b925920fe8e0a8c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -691,8 +691,6 @@ if( CHAMELEON_SCHED_STARPU )
         foreach(libdir ${STARPU_LIBRARY_DIRS_DEP})
             list(APPEND CMAKE_REQUIRED_FLAGS "-L${libdir}")
         endforeach()
-        add_definitions("-DSTARPU_${STARPU_VERSION_MAJOR}${STARPU_VERSION_MINOR}")
-        message("-- ${Blue}Add definition STARPU_${STARPU_VERSION_MAJOR}${STARPU_VERSION_MINOR}${ColourReset}")
         set(CMAKE_REQUIRED_LIBRARIES "${STARPU_LIBRARIES_DEP}")
         if (CHAMELEON_USE_MPI)
             list(APPEND CMAKE_REQUIRED_INCLUDES "${MPI_C_INCLUDE_PATH}")
diff --git a/runtime/starpu/codelets/codelet_zgeqrt.c b/runtime/starpu/codelets/codelet_zgeqrt.c
index a60fb29da3d3b454615a4fd71ce77d275f493d8d..6b02a3562a0fa96f4fa621af3bb3f8fb0621b673 100644
--- a/runtime/starpu/codelets/codelet_zgeqrt.c
+++ b/runtime/starpu/codelets/codelet_zgeqrt.c
@@ -123,7 +123,7 @@ void MORSE_TASK_zgeqrt(const MORSE_option_t *options,
             STARPU_VALUE,    &h_work,            sizeof(MORSE_starpu_ws_t *),
             STARPU_PRIORITY,  options->priority,
             STARPU_CALLBACK,  callback,
-#ifdef STARPU_12
+#if (STARPU_MAJOR_VERSION > 1) || ((STARPU_MAJOR_VERSION == 1) && (STARPU_MINOR_VERSION > 1))
             STARPU_NAME, "zgeqrt",
 #endif
             0);
diff --git a/runtime/starpu/codelets/codelet_zhe2ge.c b/runtime/starpu/codelets/codelet_zhe2ge.c
index 1daebd9f103a51c184c8a415d237921166b745de..9fb7358c4714d0953a8f9d13efb98acb159909cb 100644
--- a/runtime/starpu/codelets/codelet_zhe2ge.c
+++ b/runtime/starpu/codelets/codelet_zhe2ge.c
@@ -53,7 +53,7 @@ void MORSE_TASK_zhe2ge(const MORSE_option_t *options,
             STARPU_VALUE,   &ldb,                        sizeof(int),
             STARPU_PRIORITY,    options->priority,
             STARPU_CALLBACK,    callback,
-#ifdef STARPU_12
+#if (STARPU_MAJOR_VERSION > 1) || ((STARPU_MAJOR_VERSION == 1) && (STARPU_MINOR_VERSION > 1))
             STARPU_NAME, "zhe2ge",
 #endif
             0);
diff --git a/runtime/starpu/codelets/codelet_zherfb.c b/runtime/starpu/codelets/codelet_zherfb.c
index 4e257acba0b6dc9b371466e05e5b79b43b08006d..deacd06a74edfcb8b649d509576b6efa3020218a 100644
--- a/runtime/starpu/codelets/codelet_zherfb.c
+++ b/runtime/starpu/codelets/codelet_zherfb.c
@@ -61,7 +61,7 @@ void MORSE_TASK_zherfb(const MORSE_option_t *options,
             STARPU_VALUE,    &nb,                sizeof(int),
             STARPU_PRIORITY,  options->priority,
             STARPU_CALLBACK,  callback,
-#ifdef STARPU_12
+#if (STARPU_MAJOR_VERSION > 1) || ((STARPU_MAJOR_VERSION == 1) && (STARPU_MINOR_VERSION > 1))
             STARPU_NAME, "zherfb",
 #endif
             0);
diff --git a/runtime/starpu/codelets/codelet_zlatro.c b/runtime/starpu/codelets/codelet_zlatro.c
index 5f0a2ea0401732cb7308b95cbb72ce041fde09c4..21f29fd8db62a572290bdcfd810ee9bef3c027ee 100644
--- a/runtime/starpu/codelets/codelet_zlatro.c
+++ b/runtime/starpu/codelets/codelet_zlatro.c
@@ -62,7 +62,7 @@ void MORSE_TASK_zlatro(const MORSE_option_t *options,
             STARPU_VALUE,   &ldb,     sizeof(int),
             STARPU_PRIORITY, options->priority,
             STARPU_CALLBACK, callback,
-#ifdef STARPU_12
+#if (STARPU_MAJOR_VERSION > 1) || ((STARPU_MAJOR_VERSION == 1) && (STARPU_MINOR_VERSION > 1))
             STARPU_NAME, "zlatro",
 #endif
             0);
diff --git a/runtime/starpu/codelets/codelet_ztsmqr.c b/runtime/starpu/codelets/codelet_ztsmqr.c
index 16f2475b3c1d228827eaae3b682bcd482c416622..a8bb63923b2f09df5caa2a7155348fde36a6f225 100644
--- a/runtime/starpu/codelets/codelet_ztsmqr.c
+++ b/runtime/starpu/codelets/codelet_ztsmqr.c
@@ -199,7 +199,7 @@ void MORSE_TASK_ztsmqr(const MORSE_option_t *options,
             STARPU_VALUE,    &ldwork,            sizeof(int),
             STARPU_PRIORITY,  options->priority,
             STARPU_CALLBACK,  callback,
-#ifdef STARPU_12
+#if (STARPU_MAJOR_VERSION > 1) || ((STARPU_MAJOR_VERSION == 1) && (STARPU_MINOR_VERSION > 1))
             STARPU_NAME, "ztsmqr",
 #endif
 #if defined(CHAMELEON_USE_MPI)
diff --git a/runtime/starpu/codelets/codelet_ztsmqr_hetra1.c b/runtime/starpu/codelets/codelet_ztsmqr_hetra1.c
index 94597b6a905dfdcb923a8acc699d37cb7305e8a2..1a357ed4d1cfc45ece3f4f2d411bd11e47090a92 100644
--- a/runtime/starpu/codelets/codelet_ztsmqr_hetra1.c
+++ b/runtime/starpu/codelets/codelet_ztsmqr_hetra1.c
@@ -73,7 +73,7 @@ void MORSE_TASK_ztsmqr_hetra1(const MORSE_option_t *options,
             STARPU_VALUE,    &ldwork,            sizeof(int),
             STARPU_PRIORITY,  options->priority,
             STARPU_CALLBACK,  callback,
-#ifdef STARPU_12
+#if (STARPU_MAJOR_VERSION > 1) || ((STARPU_MAJOR_VERSION == 1) && (STARPU_MINOR_VERSION > 1))
             STARPU_NAME, "ztsmqr_hetra1",
 #endif
             0);
diff --git a/runtime/starpu/codelets/codelet_ztsqrt.c b/runtime/starpu/codelets/codelet_ztsqrt.c
index 0d8a8a9aa737ecbf44aa18a8d0c816819cdf2463..7df11b440c96e65a4e8b6a651c8399057d5426f3 100644
--- a/runtime/starpu/codelets/codelet_ztsqrt.c
+++ b/runtime/starpu/codelets/codelet_ztsqrt.c
@@ -129,7 +129,7 @@ void MORSE_TASK_ztsqrt(const MORSE_option_t *options,
             STARPU_VALUE,    &h_work,            sizeof(MORSE_starpu_ws_t *),
             STARPU_PRIORITY,  options->priority,
             STARPU_CALLBACK,  callback,
-#ifdef STARPU_12
+#if (STARPU_MAJOR_VERSION > 1) || ((STARPU_MAJOR_VERSION == 1) && (STARPU_MINOR_VERSION > 1))
             STARPU_NAME, "ztsqrt",
 #endif
             STARPU_EXECUTE_ON_NODE, A2->get_rankof(A2, A2m, A2n),
diff --git a/runtime/starpu/codelets/codelet_zunmlq.c b/runtime/starpu/codelets/codelet_zunmlq.c
index b3e973a09845cc30fa6b1109e7bc749e09eac0b8..5f1cfe6b0fe44195dd9a441360d6e3faa0c1970a 100644
--- a/runtime/starpu/codelets/codelet_zunmlq.c
+++ b/runtime/starpu/codelets/codelet_zunmlq.c
@@ -150,7 +150,7 @@ void MORSE_TASK_zunmlq(const MORSE_option_t *options,
             STARPU_VALUE,    &nb,                sizeof(int),
             STARPU_PRIORITY,  options->priority,
             STARPU_CALLBACK,  callback,
-#ifdef STARPU_12
+#if (STARPU_MAJOR_VERSION > 1) || ((STARPU_MAJOR_VERSION == 1) && (STARPU_MINOR_VERSION > 1))
             STARPU_NAME, "zunmlq",
 #endif
             0);
diff --git a/runtime/starpu/codelets/codelet_zunmqr.c b/runtime/starpu/codelets/codelet_zunmqr.c
index 32c6d14acd4e8b95b38ae7189c37ad2684fc15b8..70a1417f5e94b42a10adba01de3ea99efdf3aa7c 100644
--- a/runtime/starpu/codelets/codelet_zunmqr.c
+++ b/runtime/starpu/codelets/codelet_zunmqr.c
@@ -172,7 +172,7 @@ void MORSE_TASK_zunmqr(const MORSE_option_t *options,
             STARPU_VALUE,    &nb,                sizeof(int),
             STARPU_PRIORITY,  options->priority,
             STARPU_CALLBACK,  callback,
-#ifdef STARPU_12
+#if (STARPU_MAJOR_VERSION > 1) || ((STARPU_MAJOR_VERSION == 1) && (STARPU_MINOR_VERSION > 1))
             STARPU_NAME, "zunmqr",
 #endif
 #if defined(CHAMELEON_USE_MPI)
diff --git a/runtime/starpu/control/runtime_descriptor.c b/runtime/starpu/control/runtime_descriptor.c
index c25460a91e737c896e0adc4d952d2ec72d8d6fb3..5bd0ca72010ce1a0ab6b775d48a34e4aee54dc8e 100644
--- a/runtime/starpu/control/runtime_descriptor.c
+++ b/runtime/starpu/control/runtime_descriptor.c
@@ -268,6 +268,13 @@ int RUNTIME_desc_release( MORSE_desc_t *desc )
     return MORSE_SUCCESS;
 }
 
+/**
+ * For older revision of StarPU, STARPU_MAIN_RAM is not defined
+ */
+#ifndef STARPU_MAIN_RAM
+#define STARPU_MAIN_RAM 0
+#endif
+
 int RUNTIME_desc_getoncpu( MORSE_desc_t *desc )
 {
     starpu_data_handle_t *handle = (starpu_data_handle_t*)(desc->schedopt);
@@ -315,15 +322,9 @@ void *RUNTIME_desc_getaddr( const MORSE_desc_t *desc, int m, int n )
                                             BLKLDD(desc, im), tempmm, tempnn, eltsze);
             }
             else {
-#ifdef STARPU_12
                 starpu_matrix_data_register(ptrtile, STARPU_MAIN_RAM,
                                             (uintptr_t)desc->get_blkaddr(desc, m, n),
                                             BLKLDD(desc, im), tempmm, tempnn, eltsze);
-#else
-                starpu_matrix_data_register(ptrtile, 0,
-                                            (uintptr_t)desc->get_blkaddr(desc, m, n),
-                                            BLKLDD(desc, im), tempmm, tempnn, eltsze);
-#endif
             }
         }
         else {