diff --git a/control/descriptor.h b/control/descriptor.h
index b41ddbc1d9212703e016fab1fa938d61896335f0..0f949a706b731c1edda5e36f98dabe1b2c8b5273 100644
--- a/control/descriptor.h
+++ b/control/descriptor.h
@@ -205,7 +205,8 @@ inline static int morse_desc_islocal( const MORSE_desc_t *A, int m, int n )
  * MORSE_END_ACCESS_DECLARATION
  */
 #define MORSE_BEGIN_ACCESS_DECLARATION { \
-    unsigned __morse_need_submit = 0;
+    unsigned __morse_need_submit = 0; \
+    RUNTIME_BEGIN_ACCESS_DECLARATION
 
 #define MORSE_ACCESS_R(A, Am, An) \
     if (morse_desc_islocal(A, Am, An)) __morse_need_submit = 1; \
@@ -222,6 +223,7 @@ inline static int morse_desc_islocal( const MORSE_desc_t *A, int m, int n )
 #define MORSE_RANK_CHANGED __morse_need_submit = 1;
 
 #define MORSE_END_ACCESS_DECLARATION \
+    RUNTIME_BEGIN_ACCESS_DECLARATION \
     if (!__morse_need_submit) return; \
 }
 
diff --git a/runtime/parsec/include/morse_parsec.h b/runtime/parsec/include/morse_parsec.h
index 81f377211a393a8feed3a6fa93e0ef1a192ac211..b91f2d3af3278b965d95f6e8ae8b542e6eaeb382 100644
--- a/runtime/parsec/include/morse_parsec.h
+++ b/runtime/parsec/include/morse_parsec.h
@@ -24,10 +24,14 @@ typedef struct morse_parsec_desc_s morse_parsec_desc_t;
  */
 #define RTBLKADDR( desc, type, m, n ) ( dague_dtd_tile_of( DAGUE_dtd_handle, (desc)->schedopt, m, n ) )
 
+#define RUNTIME_BEGIN_ACCESS_DECLARATION
+
 #define RUNTIME_ACCESS_R(A, Am, An)
 
 #define RUNTIME_ACCESS_W(A, Am, An)
 
 #define RUNTIME_ACCESS_RW(A, Am, An)
 
+#define RUNTIME_END_ACCESS_DECLARATION
+
 #endif /* _MORSE_PARSEC_H_ */
diff --git a/runtime/quark/include/morse_quark.h b/runtime/quark/include/morse_quark.h
index 51c976e271ab5c29a8c134eff4daa64f0de29b4b..749f24f98851e08b12b1984be676da8b2ceebbf9 100644
--- a/runtime/quark/include/morse_quark.h
+++ b/runtime/quark/include/morse_quark.h
@@ -47,10 +47,14 @@ typedef struct quark_option_s {
  */
 #define RTBLKADDR( desc, type, m, n ) ( (type*)RUNTIME_desc_getaddr( desc, m, n ) )
 
+#define RUNTIME_BEGIN_ACCESS_DECLARATION
+
 #define RUNTIME_ACCESS_R(A, Am, An)
 
 #define RUNTIME_ACCESS_W(A, Am, An)
 
 #define RUNTIME_ACCESS_RW(A, Am, An)
 
+#define RUNTIME_END_ACCESS_DECLARATION
+
 #endif /* _MORSE_QUARK_H_ */
diff --git a/runtime/starpu/include/morse_starpu.h b/runtime/starpu/include/morse_starpu.h
index 8fc3650ca227367d87d25530919e7a5cf3860664..57ff8a0f6fb957bf78cae6265d584faf41e726df 100644
--- a/runtime/starpu/include/morse_starpu.h
+++ b/runtime/starpu/include/morse_starpu.h
@@ -86,10 +86,14 @@ typedef struct starpu_conf starpu_conf_t;
 
 void RUNTIME_set_reduction_methods(starpu_data_handle_t handle, MORSE_enum dtyp);
 
+#define RUNTIME_BEGIN_ACCESS_DECLARATION
+
 #define RUNTIME_ACCESS_R(A, Am, An)
 
 #define RUNTIME_ACCESS_W(A, Am, An)
 
 #define RUNTIME_ACCESS_RW(A, Am, An)
 
+#define RUNTIME_END_ACCESS_DECLARATION
+
 #endif /* _MORSE_STARPU_H_ */