diff --git a/common/utils/hashtable/hashtable.c b/common/utils/hashtable/hashtable.c
index 6322b1dea634b7063f6057e339b8fbde2fe7b652..2c7b35744ca7cf766044f7efc2341aff5b9a2fb5 100644
--- a/common/utils/hashtable/hashtable.c
+++ b/common/utils/hashtable/hashtable.c
@@ -95,7 +95,7 @@ hash_table_t *hashtable_create(const hash_size_t sizeP, hash_size_t (*hashfuncP)
  * Cleanup
  * The hashtable_destroy() walks through the linked lists for each possible hash value, and releases the elements. It also releases the nodes array and the hash_table_t.
  */
-hashtable_rc_t hashtable_destroy(hash_table_t * const hashtblP)
+hashtable_rc_t hashtable_destroy(hash_table_t * hashtblP)
 {
     hash_size_t n;
     hash_node_t *node, *oldnode;
@@ -117,6 +117,7 @@ hashtable_rc_t hashtable_destroy(hash_table_t * const hashtblP)
     }
     free(hashtblP->nodes);
     free(hashtblP);
+    hashtblP=NULL;
     return HASH_TABLE_OK;
 }
 //-------------------------------------------------------------------------------------------------------------------------------
diff --git a/common/utils/itti/intertask_interface.c b/common/utils/itti/intertask_interface.c
index 66b5e9aedcd41461ebd840f7dd678113a78c8da4..387d37d61d52d6db883699a56a627266a6526b60 100644
--- a/common/utils/itti/intertask_interface.c
+++ b/common/utils/itti/intertask_interface.c
@@ -470,6 +470,7 @@ int itti_send_msg_to_task(task_id_t destination_task_id, instance_t instance, Me
                       itti_get_task_name(destination_task_id));
         int result = itti_free(origin_task_id, message);
         AssertFatal( result == EXIT_SUCCESS, "Failed to free memory (%d)!\n", result);
+        return 0;
 #else
         AssertFatal(0, "Error: lfds611_queue_enqueue returns 0, queue is full, exiting\n");
 #endif
diff --git a/openair2/LAYER2/MAC/pre_processor.c b/openair2/LAYER2/MAC/pre_processor.c
index 6277c1c69fb39e81fd4211fcee22821f184c7d66..c0413c3411d9e753d9267ce951406898b20a859e 100644
--- a/openair2/LAYER2/MAC/pre_processor.c
+++ b/openair2/LAYER2/MAC/pre_processor.c
@@ -637,6 +637,7 @@ void dlsch_scheduler_pre_ue_select(
           default:
             LOG_W(MAC,"Unsupported transmission mode %d\n", get_tmode(module_idP,CC_id,UE_id));
             aggregation = 2;
+            break;
         }
         format_flag = 1;
         if (!CCE_allocation_infeasible(module_idP,
@@ -2364,11 +2365,14 @@ void ulsch_scheduler_pre_ue_select(
   }
   // UE round >0
   for ( UE_id = 0; UE_id < NUMBER_OF_UE_MAX; UE_id++ ) {
+      if (UE_list->active[UE_id] == FALSE)
+          continue;
+
       rnti = UE_RNTI(module_idP,UE_id);
-      CC_id = UE_PCCID(module_idP,UE_id);
       if (rnti ==NOT_A_RNTI)
         continue;
 
+      CC_id = UE_PCCID(module_idP,UE_id);
       if (UE_list->UE_template[CC_id][UE_id].configured == FALSE)
         continue;
 
@@ -2472,11 +2476,18 @@ void ulsch_scheduler_pre_ue_select(
   }
 
   for ( UE_id = 0; UE_id < NUMBER_OF_UE_MAX; UE_id++ ) {
+    if (UE_list->active[UE_id] == FALSE)
+        continue;
+
     rnti = UE_RNTI(module_idP,UE_id);
-    CC_id = UE_PCCID(module_idP,UE_id);
     if (rnti ==NOT_A_RNTI)
         continue;
 
+    CC_id = UE_PCCID(module_idP,UE_id);
+
+    if (UE_id > last_ulsch_ue_id[CC_id])
+        continue;
+
     if (UE_list->UE_template[CC_id][UE_id].configured == FALSE)
         continue;
 
@@ -2495,9 +2506,6 @@ void ulsch_scheduler_pre_ue_select(
         }
     }
 
-    if (UE_id > last_ulsch_ue_id[CC_id])
-        continue;
-
     for(i = 0;i<ulsch_ue_select[CC_id].ue_num;i++){
       if(ulsch_ue_select[CC_id].list[i].UE_id == UE_id){
        break;