diff --git a/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_bf/tb_lofar2_unb2c_sdp_station_bf.vhd b/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_bf/tb_lofar2_unb2c_sdp_station_bf.vhd
index c4f00556fd23b77db881b6ae11d734929ce001c2..499fa927b47a3392314f18b139e73cc7ba8e6369 100644
--- a/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_bf/tb_lofar2_unb2c_sdp_station_bf.vhd
+++ b/applications/lofar2/designs/lofar2_unb2c_sdp_station/revisions/lofar2_unb2c_sdp_station_bf/tb_lofar2_unb2c_sdp_station_bf.vhd
@@ -361,6 +361,7 @@ architecture tb of tb_lofar2_unb2c_sdp_station_bf is
   constant c_addr_w_reg_stat_enable_bst   : natural := c_sdp_reg_stat_enable_addr_w;
   constant c_addr_w_reg_dp_xonoff         : natural := 1;
   constant c_addr_w_ram_st_bst            : natural := ceil_log2(c_sdp_S_sub_bf * c_sdp_N_pol_bf * c_stat_data_sz);
+  constant c_addr_w_reg_bsn_monitor_v2    : natural := 3;
   -- . Address spans of a single MM instance
   --   . c_sdp_S_pn = 12 instances
   constant c_mm_span_reg_diag_wg          : natural := 2**c_addr_w_reg_diag_wg;
@@ -373,6 +374,7 @@ architecture tb of tb_lofar2_unb2c_sdp_station_bf is
   constant c_mm_span_reg_stat_enable_bst  : natural := 2**c_addr_w_reg_stat_enable_bst;
   constant c_mm_span_reg_dp_xonoff        : natural := 2**c_addr_w_reg_dp_xonoff;
   constant c_mm_span_ram_st_bst           : natural := 2**c_addr_w_ram_st_bst;
+  constant c_mm_span_reg_bsn_monitor_v2   : natural := 2**c_addr_w_reg_bsn_monitor_v2;
 
   constant c_mm_file_reg_ppsh             : string := mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "PIO_PPS";
   constant c_mm_file_reg_bsn_source_v2    : string := mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "REG_BSN_SOURCE_V2";
@@ -390,6 +392,8 @@ architecture tb of tb_lofar2_unb2c_sdp_station_bf is
   constant c_mm_file_reg_sdp_info         : string := mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "REG_SDP_INFO";
   constant c_mm_file_reg_hdr_dat          : string := mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "REG_HDR_DAT";  -- c_sdp_N_beamsets = 2 beamsets
   constant c_mm_file_reg_bdo_destinations : string := mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "REG_BDO_DESTINATIONS";
+  constant c_mm_file_reg_bsn_monitor_v2_beamlet_output : string :=
+                                         mmf_unb_file_prefix(c_unb_nr, c_node_nr) & "REG_BSN_MONITOR_V2_BEAMLET_OUTPUT";
 
   -- Tb BSN moments
   constant c_stimuli_done_bsn             : natural := c_init_bsn + c_bsn_latency + c_nof_block_per_sync * 4;
@@ -424,6 +428,9 @@ architecture tb of tb_lofar2_unb2c_sdp_station_bf is
   signal rd_nof_destinations_act  : natural;
   signal rd_nof_destinations_max  : natural;
   signal rd_nof_blocks_per_packet : natural;
+  signal rd_bsn_monitor_v2_beamlet_output        : std_logic := '0';  -- strobe
+  signal rd_bsn_monitor_v2_beamlet_output_xon    : std_logic;
+  signal rd_bsn_monitor_v2_beamlet_output_ready  : std_logic;
 
   -- WG
   signal current_bsn_wg      : std_logic_vector(c_dp_stream_bsn_w - 1 downto 0);
@@ -738,6 +745,17 @@ begin
       report "Wrong MM read SDP info block_period"
       severity ERROR;
 
+    ----------------------------------------------------------------------------
+    -- Read 10GbE beamlet output SISO status before enable beamlet output
+    ----------------------------------------------------------------------------
+    mmf_mm_bus_rd(c_mm_file_reg_bsn_monitor_v2_beamlet_output, 0, rd_data, tb_clk);
+    proc_common_wait_some_cycles(tb_clk, 1);
+    rd_bsn_monitor_v2_beamlet_output <= '1';
+    rd_bsn_monitor_v2_beamlet_output_xon <= rd_data(0);
+    rd_bsn_monitor_v2_beamlet_output_ready <= rd_data(1);
+    proc_common_wait_some_cycles(tb_clk, 10);
+    rd_bsn_monitor_v2_beamlet_output <= '0';
+
     ------------------------------------------------------------------------------
     ---- Set and check BF per beamset
     ------------------------------------------------------------------------------
@@ -1168,6 +1186,21 @@ begin
     -- Stimuli done, now verify results at end of test
     stimuli_done <= '1';
 
+    ----------------------------------------------------------------------------
+    -- Read 10GbE beamlet output SISO status again during active beamlet
+    -- output, because BSN monitor status only gets updated at sosi.sync
+    -- These MP are not useful, because they are only updated when there
+    -- is active beamlet output data and because ready remains '0' when it
+    -- toggles during a sync interval.
+    ----------------------------------------------------------------------------
+    mmf_mm_bus_rd(c_mm_file_reg_bsn_monitor_v2_beamlet_output, 0, rd_data, tb_clk);
+    proc_common_wait_some_cycles(tb_clk, 1);
+    rd_bsn_monitor_v2_beamlet_output <= '1';
+    rd_bsn_monitor_v2_beamlet_output_xon <= rd_data(0);
+    rd_bsn_monitor_v2_beamlet_output_ready <= rd_data(1);
+    proc_common_wait_some_cycles(tb_clk, 10);
+    rd_bsn_monitor_v2_beamlet_output <= '0';
+
     ---------------------------------------------------------------------------
     -- Read subband statistics
     ---------------------------------------------------------------------------
diff --git a/libraries/base/dp/src/vhdl/dp_bsn_monitor_v2.vhd b/libraries/base/dp/src/vhdl/dp_bsn_monitor_v2.vhd
index 339533f55ebd8422d8fff957ae7cfeee69b0e07c..f9d09a9bb90e6d478f945089d687409f7ed32bf5 100644
--- a/libraries/base/dp/src/vhdl/dp_bsn_monitor_v2.vhd
+++ b/libraries/base/dp/src/vhdl/dp_bsn_monitor_v2.vhd
@@ -37,6 +37,8 @@
 --   valid remains active until an acknowledge by ready)
 -- . If mon_sync_timeout = '1', all output vectors are forced -1 (all ones) to
 --   indicate they are not valid.
+-- . The single bit siso status signals mon_ready_stable and mon_xon_stable
+--   are less useful, because they do not support an invalid value.
 -- --------------------------------------------------------------------------
 
 library IEEE, common_lib;