diff --git a/common/utils/T/T_messages.txt b/common/utils/T/T_messages.txt
index e6c83b5105f846c095424d5aed90ac77d6787c9f..49a629c670ede5264c72f2e301605d14b6a80c0c 100644
--- a/common/utils/T/T_messages.txt
+++ b/common/utils/T/T_messages.txt
@@ -1,3 +1,9 @@
+#general logs
+ID = ENB_MASTER_TICK
+    DESC = eNodeB master tick - one tick per ms, to be used as "reference clock", mostly for ticktime view
+    GROUP = ALL:GENERAL:ENB
+    FORMAT = int,eNB_ID : int,frame : int,subframe
+
 #PHY logs
 ID = ENB_UL_TICK
     DESC = eNodeB uplink tick - one tick per ms at start of uplink processing
diff --git a/targets/RT/USER/lte-softmodem.c b/targets/RT/USER/lte-softmodem.c
index 21ebb0f55af65a1b7a242f41f8628e3f1bc4c778..14e793cec5782ba92da90cbf389b04fe064aa845 100644
--- a/targets/RT/USER/lte-softmodem.c
+++ b/targets/RT/USER/lte-softmodem.c
@@ -51,9 +51,7 @@
 #include <execinfo.h>
 #include <getopt.h>
 
-#if T_TRACER
 #include "T.h"
-#endif
 
 #include "rt_wrapper.h"
 #undef MALLOC //there are two conflicting definitions, so we better make sure we don't use it at all
@@ -1988,6 +1986,8 @@ static void* eNB_thread( void* arg )
 #else
       int sf = hw_subframe;
 #endif
+      /* TODO: is it the right place for master tick? */
+      T(T_ENB_MASTER_TICK, T_INT(0), T_INT(frame % 1024), T_INT(sf));
       if (frame>50) {
 	for (int CC_id=0; CC_id<MAX_NUM_CCs; CC_id++) {
 #ifdef EXMIMO
diff --git a/targets/SIMU/USER/oaisim.c b/targets/SIMU/USER/oaisim.c
index 30b1c20bc81f2814f204a8c7d91fe87afd22eaae..549acf844a20f9ca50d6787720b2badc509c5e5d 100644
--- a/targets/SIMU/USER/oaisim.c
+++ b/targets/SIMU/USER/oaisim.c
@@ -114,9 +114,7 @@ char smbv_ip[16];
 # include "create_tasks.h"
 #endif
 
-#if T_TRACER
 #include "T.h"
-#endif
 
 /*
  DCI0_5MHz_TDD0_t          UL_alloc_pdu;
@@ -748,7 +746,8 @@ l2l1_task (void *args_p)
                  + oai_emulation.info.nb_enb_local));
              eNB_inst++) {
           if (oai_emulation.info.cli_start_enb[eNB_inst] != 0) {
-            if ((slot & 1) == 0)
+            if ((slot & 1) == 0) {
+              T(T_ENB_MASTER_TICK, T_INT(eNB_inst), T_INT(frame % 1024), T_INT(slot/2));
               LOG_D(EMU,
                     "PHY procedures eNB %d for frame %d, slot %d (subframe TX %d, RX %d) TDD %d/%d Nid_cell %d\n",
                     eNB_inst,
@@ -759,6 +758,7 @@ l2l1_task (void *args_p)
                     PHY_vars_eNB_g[eNB_inst][0]->lte_frame_parms.frame_type,
                     PHY_vars_eNB_g[eNB_inst][0]->lte_frame_parms.tdd_config,
                     PHY_vars_eNB_g[eNB_inst][0]->lte_frame_parms.Nid_cell);
+            }
 
 #ifdef OPENAIR2
                         //Application: traffic gen