diff --git a/openair1/SIMULATION/TOOLS/random_channel.c b/openair1/SIMULATION/TOOLS/random_channel.c
index abf7ab8954ebf8a6a3668d22f6ee7ba7588cf436..ea8781e216943e6d6f9b0b1eeab9d6becf0b2c21 100644
--- a/openair1/SIMULATION/TOOLS/random_channel.c
+++ b/openair1/SIMULATION/TOOLS/random_channel.c
@@ -119,8 +119,9 @@ void fill_channel_desc(channel_desc_t *chan_desc,
   else {
     chan_desc->R_sqrt = (struct complex**) calloc(nb_taps,sizeof(struct complex*));
     for (i = 0; i<nb_taps; i++) {
-        chan_desc->R_sqrt[i]    = (struct complex*) calloc(nb_tx*nb_rx*nb_tx*nb_rx,sizeof(struct complex));
+        //chan_desc->R_sqrt[i]    = (struct complex*) calloc(nb_tx*nb_rx*nb_tx*nb_rx,sizeof(struct complex));
         //chan_desc->R_sqrt = (struct complex*)&R_sqrt[i][0];
+        /* all chan_desc share the same R_sqrt, coming from caller */
         chan_desc->R_sqrt[i] = R_sqrt[0];
         }
   }