diff --git a/openair1/PHY/NR_TRANSPORT/pucch_rx.c b/openair1/PHY/NR_TRANSPORT/pucch_rx.c
index b10a30e0e85f5a65410fe77ff86600d07f82ad12..6f551fcce854797790a93724df89c1cf440b2641 100644
--- a/openair1/PHY/NR_TRANSPORT/pucch_rx.c
+++ b/openair1/PHY/NR_TRANSPORT/pucch_rx.c
@@ -360,12 +360,13 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB,
     printf("PUCCH IDFT[%d/%d] = (%d,%d)=>%f\n",mcs[i],seq_index,corr_re,corr_im,10*log10(corr_re*corr_re + corr_im*corr_im));
 #endif
     temp=corr_re*corr_re + corr_im*corr_im;
+    no_corr+=temp;
     if (temp>xrtmag) {
       xrtmag=temp;
       maxpos=i;
     }
-    else no_corr+=temp;
   }
+  no_corr-=xrtmag;
   if (nr_sequences>1)
     no_corr/=(nr_sequences-1);