diff --git a/libraries/base/dp/src/vhdl/dp_block_validate_bsn_at_sync.vhd b/libraries/base/dp/src/vhdl/dp_block_validate_bsn_at_sync.vhd
index 2923f620bad5a91927818f8e6da72ecc430f5e6d..b774b7853a14fbf783bee821a3ec8f7423a5e92e 100644
--- a/libraries/base/dp/src/vhdl/dp_block_validate_bsn_at_sync.vhd
+++ b/libraries/base/dp/src/vhdl/dp_block_validate_bsn_at_sync.vhd
@@ -193,8 +193,8 @@ BEGIN
 
   bsn_at_sync <= bs_sosi.bsn WHEN bs_sosi.sync = '1' ELSE bsn_at_sync_reg;
 
-  bsn_ok      <= bsn_ok_reg WHEN in_sosi.sync = '0' ELSE 
-                '1'         WHEN in_sosi.bsn = bsn_at_sync AND TO_UINT(in_sosi.channel) = g_check_channel ELSE '0';
+  bsn_ok      <= bsn_ok_reg WHEN in_sosi.sync = '0' OR TO_UINT(in_sosi.channel) /= g_check_channel ELSE 
+                '1'         WHEN in_sosi.bsn = bsn_at_sync ELSE '0';
 
   out_valid   <= '1'    WHEN in_sosi.sop = '1' AND TO_UINT(in_sosi.channel) /= g_check_channel ELSE
                  bsn_ok WHEN in_sosi.sop = '1' AND TO_UINT(in_sosi.channel) = g_check_channel ELSE