diff --git a/libraries/base/diag/src/vhdl/mms_diag_data_buffer.vhd b/libraries/base/diag/src/vhdl/mms_diag_data_buffer.vhd
index d983a4593504418e1153714436b1e4c73fb3db49..e6d4af85a16f8c84f2ccbaad35445d772d99352e 100644
--- a/libraries/base/diag/src/vhdl/mms_diag_data_buffer.vhd
+++ b/libraries/base/diag/src/vhdl/mms_diag_data_buffer.vhd
@@ -78,6 +78,8 @@ ENTITY mms_diag_data_buffer IS
     g_buf_nof_data : NATURAL := 1024;   -- nof words per data buffer
     g_buf_use_sync : BOOLEAN := FALSE;  -- when TRUE start filling the buffer at the in_sync, else after the last word was read
     -- Rx_seq
+    g_use_steps    : BOOLEAN := FALSE;
+    g_nof_steps    : NATURAL := c_diag_seq_rx_reg_nof_steps;
     g_seq_dat_w    : NATURAL := 32  -- >= 1, test sequence data width. Choose g_seq_dat_w <= g_data_w
   );
   PORT (
@@ -195,6 +197,8 @@ BEGIN
     u_mms_diag_rx_seq : ENTITY work.mms_diag_rx_seq
     GENERIC MAP (
       g_nof_streams => g_nof_streams,
+      g_use_steps   => g_use_steps,
+      g_nof_steps   => g_nof_steps,
       g_seq_dat_w   => g_seq_dat_w,  -- >= 1, test sequence data width
       g_data_w      => g_data_w      -- >= g_seq_dat_w, user data width
     )
diff --git a/libraries/base/diag/src/vhdl/mms_diag_tx_seq.vhd b/libraries/base/diag/src/vhdl/mms_diag_tx_seq.vhd
index fba280d6b4ae99331e17bcc9c53586ba2b0cb714..d018612296c172a66e6ec9709721ceb829462092 100644
--- a/libraries/base/diag/src/vhdl/mms_diag_tx_seq.vhd
+++ b/libraries/base/diag/src/vhdl/mms_diag_tx_seq.vhd
@@ -351,7 +351,7 @@ BEGIN
     p_tx_seq_src_in_arr : PROCESS(tx_seq_src_out_arr)
     BEGIN
       FOR I IN 0 TO g_nof_streams-1 LOOP
-        tx_seq_src_in_arr(I).ready <= tx_seq_src_out_arr(I).valid;
+        tx_seq_src_in_arr(I).ready <= usr_snk_in_arr(I).valid;
       END LOOP;
     END PROCESS;