diff --git a/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_adc_input_and_timing.vhd b/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_adc_input_and_timing.vhd
index 6fa7c9cf74f206ff9710b89107ab1822c7f389f4..d77c55d4e5833d2bb638e62cc1da3c5ee73f34cc 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_adc_input_and_timing.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_adc_input_and_timing.vhd
@@ -103,8 +103,8 @@ ENTITY node_sdp_adc_input_and_timing IS
 
     -- Streaming data output
     out_sosi_arr                   : OUT t_dp_sosi_arr(c_sdp_S_pn-1 DOWNTO 0);        
-    dp_bsn_source_restart          : OUT STD_LOGIC
-
+    dp_bsn_source_restart          : OUT STD_LOGIC;
+    dp_bsn_source_new_interval     : OUT STD_LOGIC
   );
 END node_sdp_adc_input_and_timing;
 
@@ -120,6 +120,7 @@ ARCHITECTURE str OF node_sdp_adc_input_and_timing IS
   -- Frame parameters
   CONSTANT c_bs_sync_timeout        : NATURAL := g_bsn_nof_clk_per_sync + g_bsn_nof_clk_per_sync / 10;  -- +10% margin
   CONSTANT c_bs_bsn_w               : NATURAL := 64; -- > 51;
+  CONSTANT c_bs_aux_w               : NATURAL := 2;
   CONSTANT c_bs_block_size          : NATURAL := c_sdp_N_fft; -- =1024;
   CONSTANT c_dp_fifo_dc_size        : NATURAL := 64;
 
@@ -129,6 +130,9 @@ ARCHITECTURE str OF node_sdp_adc_input_and_timing IS
   SIGNAL rx_sysref                  : STD_LOGIC; 
 
   SIGNAL rx_bsn_source_restart      : STD_LOGIC;
+  SIGNAL rx_bsn_source_new_interval : STD_LOGIC;
+  SIGNAL rx_aux                     : STD_LOGIC_VECTOR(c_bs_aux_w-1 DOWNTO 0);
+  SIGNAL dp_aux                     : STD_LOGIC_VECTOR(c_bs_aux_w-1 DOWNTO 0);
 
   -- Sosis and sosi arrays
   SIGNAL rx_sosi_arr                : t_dp_sosi_arr(c_sdp_S_pn-1 DOWNTO 0) := (OTHERS => c_dp_sosi_rst);         
@@ -283,7 +287,8 @@ BEGIN
     -- Streaming clock domain
     bs_sosi           => bs_sosi,
 
-    bs_restart        => rx_bsn_source_restart
+    bs_restart        => rx_bsn_source_restart,
+    bs_new_interval   => rx_bsn_source_new_interval
   );
 
   u_bsn_trigger_wg : ENTITY dp_lib.mms_dp_bsn_scheduler
@@ -494,12 +499,22 @@ BEGIN
   -- Output Stage
   --   . Thin dual clock fifo to cross from jesd frame clock (rx_clk) to dp_clk domain
   -----------------------------------------------------------------------------
+
+  -- rx_aux is synchronous with st_sosi_arr
+  rx_aux(0) <= rx_bsn_source_restart;
+  rx_aux(1) <= rx_bsn_source_new_interval;
+
+  -- dp_aux is synchronous with out_sosi_arr
+  dp_bsn_source_restart      <= dp_aux(0);
+  dp_bsn_source_new_interval <= dp_aux(1);
+
   u_dp_fifo_dc_arr : ENTITY dp_lib.dp_fifo_dc_arr
     GENERIC MAP (
       g_nof_streams    => c_sdp_S_pn,
       g_data_w         => c_sdp_W_adc,
       g_data_signed    => TRUE,
       g_bsn_w          => c_bs_bsn_w,
+      g_aux_w          => c_bs_aux_w,
       g_use_empty      => FALSE,
       g_use_ctrl       => TRUE,
       g_use_sync       => TRUE,
@@ -514,12 +529,12 @@ BEGIN
       rd_clk           => dp_clk,
       snk_in_arr       => st_sosi_arr,
       src_out_arr      => out_sosi_arr,
-      in_aux(0)        => rx_bsn_source_restart,
-      out_aux(0)       => dp_bsn_source_restart
+      in_aux           => rx_aux,
+      out_aux          => dp_aux
     );
 
   
------------------------------------------------------------------------------
+  -----------------------------------------------------------------------------
   -- JESD Control register
   -----------------------------------------------------------------------------
   u_mm_jesd_ctrl_reg : ENTITY common_lib.common_reg_r_w
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_beamformer.vhd b/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_beamformer.vhd
index e94ce343eca19537f3c2d7b261c7f9e187b5471d..a9d90d2212382da37e08c0c84863e4b143aa2bee 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_beamformer.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_beamformer.vhd
@@ -49,6 +49,8 @@ ENTITY node_sdp_beamformer IS
     dp_clk        : IN  STD_LOGIC;
     dp_rst        : IN  STD_LOGIC;
 
+    dp_bsn_source_new_interval  : IN  STD_LOGIC;
+
     in_sosi_arr   : IN  t_dp_sosi_arr(c_sdp_P_pfb-1 DOWNTO 0);
     from_ri_sosi  : IN  t_dp_sosi;
     to_ri_sosi    : OUT t_dp_sosi;
@@ -377,7 +379,9 @@ BEGIN
     reg_bsn_monitor_v2_offload_copi => reg_bsn_monitor_v2_bst_offload_copi,
     reg_bsn_monitor_v2_offload_cipo => reg_bsn_monitor_v2_bst_offload_cipo,
 
-    in_sosi   => bf_sum_sosi,
+    in_sosi      => bf_sum_sosi,
+    new_interval => dp_bsn_source_new_interval,
+
     out_sosi  => bst_udp_sosi,
     out_siso  => bst_udp_siso,
 
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_filterbank.vhd b/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_filterbank.vhd
index 5c11d1481a6dbf3c7ea9edb10ebb7dbdb7031fa8..8f37ffab21acff1c735cf1f091cea7a41c204913 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_filterbank.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_filterbank.vhd
@@ -57,14 +57,15 @@ ENTITY node_sdp_filterbank IS
     dp_clk        : IN  STD_LOGIC;
     dp_rst        : IN  STD_LOGIC;
 
+    dp_bsn_source_restart      : IN STD_LOGIC;
+    dp_bsn_source_new_interval : IN STD_LOGIC;
+
     in_sosi_arr   : IN  t_dp_sosi_arr(c_sdp_S_pn-1 DOWNTO 0);
     pfb_sosi_arr  : OUT t_dp_sosi_arr(c_sdp_P_pfb-1 DOWNTO 0);
     fsub_sosi_arr : OUT t_dp_sosi_arr(c_sdp_P_pfb-1 DOWNTO 0);
     sst_udp_sosi  : OUT t_dp_sosi;
     sst_udp_siso  : IN  t_dp_siso := c_dp_siso_rst;
 
-    dp_bsn_source_restart : IN STD_LOGIC;
-
     mm_rst             : IN  STD_LOGIC;
     mm_clk             : IN  STD_LOGIC;
 
@@ -128,6 +129,7 @@ ARCHITECTURE str OF node_sdp_filterbank IS
   SIGNAL selector_en                : STD_LOGIC;
   SIGNAL weighted_subbands_flag     : STD_LOGIC;
   SIGNAL dp_bsn_source_restart_pipe : STD_LOGIC;
+
 BEGIN
   ---------------------------------------------------------------
   -- SPECTRAL INVERSION 
@@ -360,7 +362,9 @@ BEGIN
     reg_bsn_monitor_v2_offload_copi => reg_bsn_monitor_v2_sst_offload_copi,
     reg_bsn_monitor_v2_offload_cipo => reg_bsn_monitor_v2_sst_offload_cipo,
 
-    in_sosi   => dp_selector_out_sosi_arr(0),
+    in_sosi      => dp_selector_out_sosi_arr(0),
+    new_interval => dp_bsn_source_new_interval,
+
     out_sosi  => sst_udp_sosi,
     out_siso  => sst_udp_siso,
 
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_oversampled_filterbank.vhd b/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_oversampled_filterbank.vhd
index ad2e2a4f969f647dd066c35e6d2b598202e39210..ba01e264bb1e097b4c52a0d4b5eb161fcdb2f528 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_oversampled_filterbank.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_oversampled_filterbank.vhd
@@ -59,14 +59,15 @@ ENTITY node_sdp_oversampled_filterbank IS
     dp_clk        : IN  STD_LOGIC;
     dp_rst        : IN  STD_LOGIC;
 
+    dp_bsn_source_restart      : IN STD_LOGIC;
+    dp_bsn_source_new_interval : IN STD_LOGIC;
+
     in_sosi_arr   : IN  t_dp_sosi_arr(c_sdp_S_pn-1 DOWNTO 0);
     pfb_sosi_arr  : OUT t_dp_sosi_arr(c_sdp_R_os * c_sdp_P_pfb-1 DOWNTO 0);
     fsub_sosi_arr : OUT t_dp_sosi_arr(c_sdp_R_os * c_sdp_P_pfb-1 DOWNTO 0);
     sst_udp_sosi  : OUT t_dp_sosi;
     sst_udp_siso  : IN  t_dp_siso := c_dp_siso_rst;
 
-    dp_bsn_source_restart : IN STD_LOGIC;
-
     mm_rst             : IN  STD_LOGIC;
     mm_clk             : IN  STD_LOGIC;
 
@@ -670,7 +671,9 @@ BEGIN
     reg_bsn_monitor_v2_offload_copi => reg_bsn_monitor_v2_sst_offload_copi,
     reg_bsn_monitor_v2_offload_cipo => reg_bsn_monitor_v2_sst_offload_cipo,
 
-    in_sosi   => dp_selector_out_sosi_arr(0),
+    in_sosi      => dp_selector_out_sosi_arr(0),
+    new_interval => dp_bsn_source_new_interval,
+
     out_sosi  => sst_udp_sosi,
     out_siso  => sst_udp_siso,
 
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_station.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_station.vhd
index 020ab445d38b16b16c8222f7173fe0deff5d1726..90e1a6ab1a9df2782be6b82791db11f27ca7638d 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_station.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_station.vhd
@@ -536,7 +536,8 @@ ARCHITECTURE str OF sdp_station IS
   SIGNAL lane_rx_board_sosi_arr            : t_dp_sosi_arr(c_nof_lane-1 DOWNTO 0);        
   SIGNAL lane_tx_board_sosi_arr            : t_dp_sosi_arr(c_nof_lane-1 DOWNTO 0);        
  
-  SIGNAL dp_bsn_source_restart             : STD_LOGIC;
+  SIGNAL dp_bsn_source_restart             : STD_LOGIC;  -- used to restart WPFB sync interval timing
+  SIGNAL dp_bsn_source_new_interval        : STD_LOGIC;  -- used to mask out first sync interval for SST and BST offload
  
   SIGNAL bf_udp_sosi_arr                   : t_dp_sosi_arr(c_sdp_N_beamsets-1 DOWNTO 0);         
   SIGNAL bf_udp_siso_arr                   : t_dp_siso_arr(c_sdp_N_beamsets-1 DOWNTO 0);    
@@ -582,14 +583,15 @@ BEGIN
   -- SDP Info register
   -----------------------------------------------------------------------------
   -- . derive beamlet output MAC, IP and UDP Port as in https://plm.astron.nl/polarion/#/project/LOFAR2System/wiki/L1%20Interface%20Control%20Documents/STAT%20to%20CEP%20ICD
-  -- . these FW default beamlet output source MAC, IP and UDP port are NOT used in sdp_beamformer_output, because
+  -- . these FW default beamlet output source MAC, IP and UDP port for 10GbE are NOT used in sdp_beamformer_output, because
   --   instead they are MM programmable as set by c_sdp_cep_hdr_field_sel
   cep_eth_src_mac  <= c_sdp_cep_eth_src_mac_47_16 & RESIZE_UVEC(this_bck_id, c_byte_w) & RESIZE_UVEC(this_chip_id, c_byte_w); -- Simply use chip_id since we only use 1 of the 6*4 = 24 10GbE port.
   cep_ip_src_addr  <= c_sdp_cep_ip_src_addr_31_16 & RESIZE_UVEC(this_bck_id, c_byte_w) & INCR_UVEC(RESIZE_UVEC(this_chip_id, c_byte_w), 1); -- +1 to avoid IP = *.*.*.0
   cep_udp_src_port <= c_sdp_cep_udp_src_port_15_8 & RESIZE_UVEC(gn_id, c_byte_w);
   
   -- . derive statistics offload source MAC/IP/UDP as in: https://plm.astron.nl/polarion/#/project/LOFAR2System/wiki/L2%20Interface%20Control%20Documents/SC%20to%20SDP%20ICD
-  -- . these FW default statistics offload source MAC, IP and UDP port are used, as set by c_sdp_stat_hdr_field_sel
+  -- . these FW default statistics offload source MAC, IP and UDP port for 1GbE are used, as set by c_sdp_stat_hdr_field_sel.
+  -- . the source MAC, IP are the same as for the M&C, because M&C and statistics offload share the same 1GbE
   stat_eth_src_mac <= c_sdp_stat_eth_src_mac_47_16 & RESIZE_UVEC(this_bck_id, c_byte_w) & RESIZE_UVEC(this_chip_id, c_byte_w); -- Simply use chip_id since we only use 1 of the 6*4 = 24 10GbE port.
   stat_ip_src_addr <= c_sdp_stat_ip_src_addr_31_16 & RESIZE_UVEC(this_bck_id, c_byte_w) & INCR_UVEC(RESIZE_UVEC(this_chip_id, c_byte_w), 1); -- +1 to avoid IP = *.*.*.0
   sst_udp_src_port <= c_sdp_sst_udp_src_port_15_8 & RESIZE_UVEC(gn_id, c_byte_w);
@@ -690,7 +692,8 @@ BEGIN
  
     -- Streaming data output
     out_sosi_arr               => ait_sosi_arr,
-    dp_bsn_source_restart      => dp_bsn_source_restart        
+    dp_bsn_source_restart      => dp_bsn_source_restart,
+    dp_bsn_source_new_interval => dp_bsn_source_new_interval
   );
 
   -----------------------------------------------------------------------------
@@ -712,7 +715,8 @@ BEGIN
         in_sosi_arr                         => ait_sosi_arr,    
         fsub_sosi_arr                       => fsub_sosi_arr,
         dp_bsn_source_restart               => dp_bsn_source_restart,
-  
+        dp_bsn_source_new_interval          => dp_bsn_source_new_interval,
+
         sst_udp_sosi                        => udp_tx_sosi_arr(0),
         sst_udp_siso                        => udp_tx_siso_arr(0),
                                                                  
@@ -769,6 +773,7 @@ BEGIN
         in_sosi_arr                         => ait_sosi_arr,    
         fsub_sosi_arr                       => fsub_oversampled_sosi_arr,
         dp_bsn_source_restart               => dp_bsn_source_restart,
+        dp_bsn_source_new_interval          => dp_bsn_source_new_interval,
 
         sst_udp_sosi                        => udp_tx_sosi_arr(0),
         sst_udp_siso                        => udp_tx_siso_arr(0),
@@ -893,8 +898,10 @@ BEGIN
         bf_udp_sosi              => bf_udp_sosi_arr(beamset_id),
         bf_udp_siso              => bf_udp_siso_arr(beamset_id),
         bst_udp_sosi             => udp_tx_sosi_arr(2+ beamset_id),  
-        bst_udp_siso             => udp_tx_siso_arr(2+ beamset_id),  
-      
+        bst_udp_siso             => udp_tx_siso_arr(2+ beamset_id),
+
+        dp_bsn_source_new_interval => dp_bsn_source_new_interval,
+
         mm_rst                   => mm_rst,  
         mm_clk                   => mm_clk,  
       
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_statistics_offload.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_statistics_offload.vhd
index cf79a673036841913478349f8d0bc1ac7625bb2a..a2a5be3b5aca6f5976f66a54be199d132896d159 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_statistics_offload.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_statistics_offload.vhd
@@ -142,7 +142,7 @@ ENTITY sdp_statistics_offload IS
 
     -- Input timing regarding the integration interval of the statistics
     in_sosi          : IN t_dp_sosi;
-    new_interval     : IN STD_LOGIC := '0';
+    new_interval     : IN STD_LOGIC;
 
     -- Streaming output of offloaded statistics packets
     out_sosi         : OUT t_dp_sosi;
@@ -239,6 +239,8 @@ ARCHITECTURE str OF sdp_statistics_offload IS
   SIGNAL r                        : t_reg;
   SIGNAL nxt_r                    : t_reg;
 
+  SIGNAL reg_new_interval         : STD_LOGIC;
+
   SIGNAL data_id_rec              : t_sdp_stat_data_id;
   SIGNAL data_id_slv              : STD_LOGIC_VECTOR(31 DOWNTO 0) := (OTHERS => '0');
 
@@ -563,13 +565,15 @@ BEGIN
     nxt_r <= v;
   END PROCESS;
 
+  -- Register new_interval to ease timing closure. The new_interval will already be active
+  -- somewhat before the first in_sosi.sync arrives at the sdp_statistics_offload, due to
+  -- latency in the data path.
+  reg_new_interval <= new_interval WHEN rising_edge(dp_clk);
+
   -- The in_trigger can skip the first in_sosi.sync. This is necessary if the
   -- in_sosi input can be restarted, because then at every restart there is
-  -- no valid previous in_sosi.sync interval yet. This is used for XST offload,
-  -- because then the in_sync interval is MM programmable. For SST and BST the
-  -- new_interval = '0' is not used, because then the in_sosi typically
-  -- remains on after it was started.
-  in_trigger <= in_sosi.sync AND NOT new_interval;
+  -- no valid previous in_sosi.sync interval yet.
+  in_trigger <= in_sosi.sync AND NOT reg_new_interval;
 
   u_mms_common_variable_delay : ENTITY common_lib.mms_common_variable_delay
   PORT MAP (