diff --git a/common/utils/ocp_itti/intertask_interface.cpp b/common/utils/ocp_itti/intertask_interface.cpp
index b0d05c6aca11032540980cbbdae9e81fcc4bc979..a68ed93cab85da1ea01a6c5f139d1d301179d878 100644
--- a/common/utils/ocp_itti/intertask_interface.cpp
+++ b/common/utils/ocp_itti/intertask_interface.cpp
@@ -49,6 +49,7 @@ extern "C" {
     int nb_fd_epoll=0;
     int epoll_fd=-1;
     int sem_fd=-1;
+    size_t last_log_size = 0;
   } task_list_t;
 
   int timer_expired(int fd);
@@ -131,11 +132,26 @@ extern "C" {
     int message_id = message->ittiMsgHeader.messageId;
     size_t s=t->message_queue.size();
 
-    if ( s > t->admin.queue_size )
-      LOG_E(TMR,"Queue for %s task contains %ld messages\n", itti_get_task_name(destination_task_id), s );
+    if (s > t->last_log_size * 1.1) {
+      // to reduce the number of logs, we give a message each increase of 10%
+      if (s > t->admin.queue_size)
+        LOG_E(TMR, "Queue for %s task contains %ld messages\n", itti_get_task_name(destination_task_id), s);
 
-    if ( s > 50 )
-      LOG_I(ITTI,"Queue for %s task size: %ld (last message %s)\n",itti_get_task_name(destination_task_id), s+1,ITTI_MSG_NAME(message));
+      if (s > t->admin.queue_size / 10)
+        LOG_I(ITTI,
+              "Queue for %s task size: %ld (last message %s)\n",
+              itti_get_task_name(destination_task_id),
+              s + 1,
+              ITTI_MSG_NAME(message));
+
+      t->last_log_size = s;
+    }
+
+    if (t->last_log_size && t->last_log_size < t->admin.queue_size / 10) {
+      // Inform when the queue decreases
+      LOG_I(ITTI, "Queue for %s task size is back under 10%% of max size\n", itti_get_task_name(destination_task_id));
+      t->last_log_size = 0;
+    }
 
     t->message_queue.insert(t->message_queue.begin(), message);
     eventfd_t sem_counter = 1;