diff --git a/openair2/RRC/LTE/MESSAGES/asn1_msg.c b/openair2/RRC/LTE/MESSAGES/asn1_msg.c
index c736352575c226aec985316110afa49e536257b5..f62316260531624721d3b615869751e789873f1c 100644
--- a/openair2/RRC/LTE/MESSAGES/asn1_msg.c
+++ b/openair2/RRC/LTE/MESSAGES/asn1_msg.c
@@ -4231,9 +4231,14 @@ uint8_t do_MeasurementReport(uint8_t Mod_id, uint8_t *buffer,int measid,int phy_
   if(enc_rval.encoded == -1) {
     LOG_I(RRC, "[eNB AssertFatal]ASN1 message encoding failed (%s, %lu)!\n",
           enc_rval.failed_type->name, enc_rval.encoded);
+    free(measResultListEUTRA2);
+    measResultListEUTRA2 = NULL;
     return -1;
   }
 
+  free(measResultListEUTRA2);
+  measResultListEUTRA2 = NULL;
+
   return((enc_rval.encoded+7)/8);
 }