diff --git a/libraries/dsp/rTwoSDF/src/vhdl/rTwoOrder.vhd b/libraries/dsp/rTwoSDF/src/vhdl/rTwoOrder.vhd
index ddb717ffd0116b1541c1397663b88e6bf79c9031..2254f24cc93e6a6aa7a36013716c12015262c506 100644
--- a/libraries/dsp/rTwoSDF/src/vhdl/rTwoOrder.vhd
+++ b/libraries/dsp/rTwoSDF/src/vhdl/rTwoOrder.vhd
@@ -95,6 +95,8 @@ begin
 
   next_page <= '1' when unsigned(adr_tot_cnt) = c_page_size-1  and wr_en='1' else '0';
 
+  adr_tot_cnt <= adr_chan_cnt & adr_points_cnt;
+
   gen_bit_flip : if g_bit_flip=true generate
     wr_adr <= adr_chan_cnt & flip(adr_points_cnt);  -- flip the addresses to perform the reorder
   end generate;
@@ -117,7 +119,13 @@ begin
     count   => adr_points_cnt
   );
   
-  cnt_ena <= '1' when in_val = '1' and TO_UINT(adr_chan_cnt) = c_nof_channels-1 else '0';
+  -- Generate on c_nof_channels to avoid simulation warnings on TO_UINT(adr_chan_cnt) when adr_chan_cnt is a NULL array
+  one_chan : if c_nof_channels=1 generate
+    cnt_ena <= '1' when in_val = '1' else '0';
+  end generate;
+  more_chan : if c_nof_channels>1 generate
+    cnt_ena <= '1' when in_val = '1' and TO_UINT(adr_chan_cnt) = c_nof_channels-1 else '0';
+  end generate;
  
   u_adr_chan_cnt : entity common_lib.common_counter
   generic map(
@@ -132,8 +140,6 @@ begin
     count   => adr_chan_cnt
   ); 
   
-  adr_tot_cnt <= adr_chan_cnt & adr_points_cnt;
-
   u_buff : ENTITY common_lib.common_paged_ram_r_w
   GENERIC MAP (
     g_str             => "use_adr",