diff --git a/include/runtime.h b/include/runtime.h
index 5a3e3798b051dc2ddaecbcc1a0412f9d0a8b3e0c..2764f606472ba15316d4b193cde52e7bd6739aaf 100644
--- a/include/runtime.h
+++ b/include/runtime.h
@@ -52,8 +52,13 @@ int   RUNTIME_rank               (MORSE_context_t*);
 int   RUNTIME_init_scheduler     (MORSE_context_t*, int, int, int);
 void  RUNTIME_finalize_scheduler (MORSE_context_t*);
 void  RUNTIME_barrier            (MORSE_context_t*);
+#ifdef CHAMELEON_ENABLE_TRACING
 void  RUNTIME_iteration_push     (MORSE_context_t*, unsigned long iteration);
 void  RUNTIME_iteration_pop      (MORSE_context_t*);
+#else
+#define RUNTIME_iteration_push(c,i) ((void)0)
+#define RUNTIME_iteration_pop(c)    ((void)0)
+#endif
 void  RUNTIME_pause              (MORSE_context_t*);
 void  RUNTIME_resume             (MORSE_context_t*);
 void  RUNTIME_comm_rank          (int*);
diff --git a/runtime/parsec/control/runtime_control.c b/runtime/parsec/control/runtime_control.c
index 4eda96a8cfdda0d54e5d7a6c29a00843c6b11bb2..17672de56b613ed35ed4e120b71860cf75691822 100644
--- a/runtime/parsec/control/runtime_control.c
+++ b/runtime/parsec/control/runtime_control.c
@@ -70,6 +70,7 @@ void RUNTIME_barrier(MORSE_context_t *morse)
 /*******************************************************************************
  *  Set iteration numbers for traces
  **/
+#ifdef CHAMELEON_ENABLE_TRACING
 void RUNTIME_iteration_push( MORSE_context_t *morse, unsigned long iteration )
 {
     (void)morse;
@@ -80,6 +81,7 @@ void RUNTIME_iteration_pop( MORSE_context_t *morse )
     (void)morse;
     return;
 }
+#endif
 
 /*******************************************************************************
  *  To suspend the processing of new tasks by workers
diff --git a/runtime/quark/control/runtime_control.c b/runtime/quark/control/runtime_control.c
index f21358df203c96f9222982f27b44f97624f1d6e7..b81e961b3aec8d8b2b8744f448f740b4548f9eab 100644
--- a/runtime/quark/control/runtime_control.c
+++ b/runtime/quark/control/runtime_control.c
@@ -71,6 +71,7 @@ void RUNTIME_finalize_scheduler(MORSE_context_t *morse)
 /*******************************************************************************
  *  Set iteration numbers for traces
  **/
+#ifdef CHAMELEON_ENABLE_TRACING
 void RUNTIME_iteration_push( MORSE_context_t *morse, unsigned long iteration )
 {
     (void)morse;
@@ -81,6 +82,7 @@ void RUNTIME_iteration_pop( MORSE_context_t *morse )
     (void)morse;
     return;
 }
+#endif
 
 /*******************************************************************************
  *  To suspend the processing of new tasks by workers
diff --git a/runtime/starpu/control/runtime_control.c b/runtime/starpu/control/runtime_control.c
index 9f861e2580a26ecc38e17c9bc04427902a732f65..ebb297e15b8b1703214a92f3ad69f89de8cbfa56 100644
--- a/runtime/starpu/control/runtime_control.c
+++ b/runtime/starpu/control/runtime_control.c
@@ -178,6 +178,7 @@ void RUNTIME_barrier( MORSE_context_t *morse )
 /*******************************************************************************
  *  Set iteration numbers for traces
  **/
+#ifdef CHAMELEON_ENABLE_TRACING
 void RUNTIME_iteration_push( MORSE_context_t *morse, unsigned long iteration )
 {
     (void)morse;
@@ -192,6 +193,7 @@ void RUNTIME_iteration_pop( MORSE_context_t *morse )
     starpu_iteration_pop();
 #endif
 }
+#endif
 
 /*******************************************************************************
  *  To suspend the processing of new tasks by workers