diff --git a/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_fsub/tb_lofar2_unb2b_sdp_station_fsub.vhd b/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_fsub/tb_lofar2_unb2b_sdp_station_fsub.vhd
index 4e8d82b1f3e5729e68318e2990536392256be257..53cc9a3770e5bd05d2e948f615754f36a14ab735 100644
--- a/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_fsub/tb_lofar2_unb2b_sdp_station_fsub.vhd
+++ b/applications/lofar2/designs/lofar2_unb2b_sdp_station/revisions/lofar2_unb2b_sdp_station_fsub/tb_lofar2_unb2b_sdp_station_fsub.vhd
@@ -50,10 +50,12 @@
 -- Usage:
 --   > as 7    # default
 --   > as 12   # for detailed debugging
---     add wave -position insertpoint  \
+--   # Manually add missing signal
+--   > add wave -position insertpoint  \
 --     sim:/tb_lofar2_unb2b_sdp_station_fsub/sp_subband_ssts_arr2
 --   > run -a
---   # Takes about 40 m
+--   # Takes about 30 m when g_read_all_SST = FALSE
+--   # Takes about 40 m when g_read_all_SST = TRUE
 --
 -------------------------------------------------------------------------------
 LIBRARY IEEE, common_lib, unb2b_board_lib, i2c_lib, mm_lib, dp_lib, diag_lib, lofar2_sdp_lib, wpfb_lib, lofar2_unb2b_sdp_station_lib;
@@ -77,7 +79,8 @@ ENTITY tb_lofar2_unb2b_sdp_station_fsub IS
     g_wg_ampl              : REAL := 1.0;     -- WG normalized amplitude
     g_subband              : NATURAL := 102;  -- select subband at index 102 = 102/1024 * 200MHz = 19.921875 MHz
     g_subband_weight_gain  : REAL := 1.0;     -- subband weight normalized gain
-    g_subband_weight_phase : REAL := 30.0     -- subband weight phase rotation in degrees
+    g_subband_weight_phase : REAL := 30.0;    -- subband weight phase rotation in degrees
+    g_read_all_SST         : BOOLEAN := TRUE  -- when FALSE only read SST for g_subband, to save sim time
   );
 END tb_lofar2_unb2b_sdp_station_fsub;
 
@@ -416,23 +419,27 @@ BEGIN
       v_P := (I / c_stat_data_sz) MOD c_sdp_N_pol;   -- 0, 1 per SP pol, polarization index
       v_B := I / (c_sdp_N_pol * c_stat_data_sz);     -- subband index, range(N_sub = 512) per dual pol
       v_addr := I + c_pfb_index * v_span;            -- MM address for WPFB unit of selected g_sp
-      IF v_W = 0 THEN
-        -- low part
-        mmf_mm_bus_rd(c_mm_file_ram_st_sst, v_addr, rd_data, tb_clk);
-        v_data_lo := rd_data;
-      ELSE
-        -- high part
-        mmf_mm_bus_rd(c_mm_file_ram_st_sst, v_addr, rd_data, tb_clk);
-        v_data_hi := rd_data;
-        v_stat_data := v_data_hi & v_data_lo;
-
-        sp_subband_ssts_arr2(v_P)(v_B) <= v_stat_data;
-        stat_data <= v_stat_data;  -- for time series view in Wave window
-
-        -- sum of all subband powers per pol
-        sp_subband_sst_sum_arr(v_P) <= sp_subband_sst_sum_arr(v_P) + TO_UREAL(v_stat_data);
+      -- Only read SST for g_subband for dual pol SP, to save sim time
+      IF g_read_all_SST = TRUE OR v_B = g_subband THEN
+        IF v_W = 0 THEN
+          -- low part
+          mmf_mm_bus_rd(c_mm_file_ram_st_sst, v_addr, rd_data, tb_clk);
+          v_data_lo := rd_data;
+        ELSE
+          -- high part
+          mmf_mm_bus_rd(c_mm_file_ram_st_sst, v_addr, rd_data, tb_clk);
+          v_data_hi := rd_data;
+          v_stat_data := v_data_hi & v_data_lo;
+
+          sp_subband_ssts_arr2(v_P)(v_B) <= v_stat_data;
+          stat_data <= v_stat_data;  -- for time series view in Wave window
+
+          -- sum of all subband powers per pol
+          sp_subband_sst_sum_arr(v_P) <= sp_subband_sst_sum_arr(v_P) + TO_UREAL(v_stat_data);
+        END IF;
       END IF;
     END LOOP;
+    proc_common_wait_some_cycles(tb_clk, 1);
 
     -- Subband power of g_subband in g_sp
     -- . For the selected g_subband in g_sp the sp_subband_sst will be close
@@ -446,9 +453,9 @@ BEGIN
     -- indication of the SNR, although that also depends on the SNR of the WG sinus.
     v_power := sp_subband_sst_sum_arr(c_pol_index) - sp_subband_sst;
     sp_subband_sst_leakage <= v_power;
-    IF v_power > 0.0 THEN
+    IF sp_subband_sst > c_eps AND v_power > c_eps THEN
       sp_subband_sst_leakage_snr_dB <= 10.0 * LOG10(sp_subband_sst / v_power);
-    ELSE
+    ELSIF g_read_all_SST THEN
       REPORT "Wrong, zero leakage is unexpected for SP-" & NATURAL'IMAGE(g_sp) SEVERITY ERROR;
     END IF;
 
@@ -457,13 +464,13 @@ BEGIN
     -- ration indicates the suppression, provided that the other input was zero.
     v_power := sp_subband_sst_sum_arr(not_int(c_pol_index));
     sp_subband_sst_crosstalk <= v_power;
-    IF v_power > 0.0 THEN
+    IF sp_subband_sst > c_eps AND v_power > c_eps THEN
       sp_subband_sst_crosstalk_snr_dB <= 10.0 * LOG10(sp_subband_sst / v_power);
-    ELSE
+    ELSIF g_read_all_SST THEN
       REPORT "Wrong, zero crosstalk is unexpected for SP-" & NATURAL'IMAGE(g_sp) SEVERITY ERROR;
     END IF;
 
-    proc_common_wait_some_cycles(tb_clk, 1);
+    proc_common_wait_some_cycles(tb_clk, 10);
 
     ---------------------------------------------------------------------------
     -- Log WG, subband statistics
@@ -492,14 +499,16 @@ BEGIN
     print_str(". sp_subband_sst                       = " & real_to_str(sp_subband_sst, 20, 1));
     print_str(". sp_subband_sst / exp_subband_sst     = " & real_to_str(sp_subband_sst / exp_subband_sst, 20, 6));
 
-    -- Log WPFB details, these are allready verified in tb of wpfb_unit_dev.vhd, so here
-    -- quality indicators like leakage and crosstalk are also reported out of interest.
-    print_str("");
-    print_str("SST quality indicators");
-    print_str(". sp_subband_sst_leakage               = " & real_to_str(sp_subband_sst_leakage, 20, 0));
-    print_str(". sp_subband_sst_leakage_snr_dB        = " & real_to_str(sp_subband_sst_leakage_snr_dB, 20, 3));
-    print_str(". sp_subband_sst_crosstalk             = " & real_to_str(sp_subband_sst_crosstalk, 20, 0));
-    print_str(". sp_subband_sst_crosstalk_snr_db      = " & real_to_str(sp_subband_sst_crosstalk_snr_db, 20, 3));
+    IF g_read_all_SST THEN
+      -- Log WPFB details, these are allready verified in tb of wpfb_unit_dev.vhd, so here
+      -- quality indicators like leakage and crosstalk are also reported out of interest.
+      print_str("");
+      print_str("SST quality indicators");
+      print_str(". sp_subband_sst_leakage               = " & real_to_str(sp_subband_sst_leakage, 20, 0));
+      print_str(". sp_subband_sst_leakage_snr_dB        = " & real_to_str(sp_subband_sst_leakage_snr_dB, 20, 3));
+      print_str(". sp_subband_sst_crosstalk             = " & real_to_str(sp_subband_sst_crosstalk, 20, 0));
+      print_str(". sp_subband_sst_crosstalk_snr_db      = " & real_to_str(sp_subband_sst_crosstalk_snr_db, 20, 3));
+    END IF;
 
     ---------------------------------------------------------------------------
     -- Verify SST
@@ -508,9 +517,11 @@ BEGIN
     ASSERT sp_subband_sst > c_lo_factor * exp_subband_sst REPORT "Wrong subband power for SP " & NATURAL'IMAGE(g_sp) SEVERITY ERROR;
     ASSERT sp_subband_sst < c_hi_factor * exp_subband_sst REPORT "Wrong subband power for SP " & NATURAL'IMAGE(g_sp) SEVERITY ERROR;
 
-    -- Verify expected SNR quality measures
-    ASSERT sp_subband_sst_leakage_snr_dB   > c_exp_subband_sst_leakage_snr_dB   REPORT "Wrong to much leakage for SP " & NATURAL'IMAGE(g_sp) SEVERITY ERROR;
-    ASSERT sp_subband_sst_crosstalk_snr_dB > c_exp_subband_sst_crosstalk_snr_dB REPORT "Wrong to much crosstalk for SP " & NATURAL'IMAGE(g_sp) SEVERITY ERROR;
+    IF g_read_all_SST THEN
+      -- Verify expected SNR quality measures
+      ASSERT sp_subband_sst_leakage_snr_dB   > c_exp_subband_sst_leakage_snr_dB   REPORT "Wrong to much leakage for SP " & NATURAL'IMAGE(g_sp) SEVERITY ERROR;
+      ASSERT sp_subband_sst_crosstalk_snr_dB > c_exp_subband_sst_crosstalk_snr_dB REPORT "Wrong to much crosstalk for SP " & NATURAL'IMAGE(g_sp) SEVERITY ERROR;
+    END IF;
 
     ---------------------------------------------------------------------------
     -- End Simulation