diff --git a/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c b/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c
index 6ce9038923f21f5ede29e012cd8468c9f8e1726e..d866fe1c168f2954eb53783b35a8727cc7ef5047 100644
--- a/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c
+++ b/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c
@@ -303,6 +303,20 @@ Protocol__FlexUlCqiReport * copy_ul_cqi_report(Protocol__FlexUlCqiReport * origi
   return full_ul_report;
   
   error:
+    if (full_ul_report){
+      if (ul_report){
+        for (i = 0; i < full_ul_report->n_cqi_meas; i++){
+          if (ul_report[i]){
+            if ( ul_report[i]->sinr ){
+              free(ul_report[i]->sinr);
+            }
+            free(ul_report[i]);
+          }
+        }
+        free(ul_report);
+      }
+      free(full_ul_report);
+    }
     return NULL;
 }