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 ff65bd028369c3506fe83e4e120ddacb57fe6b12..2f74ef1528571469ec7352232ea0016c810e57a8 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_beamformer.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/node_sdp_beamformer.vhd
@@ -110,9 +110,9 @@ ARCHITECTURE str OF node_sdp_beamformer IS
   SIGNAL local_bf_sosi           : t_dp_sosi := c_dp_sosi_rst;
   SIGNAL bf_sum_sosi             : t_dp_sosi := c_dp_sosi_rst;
   SIGNAL bf_out_sosi             : t_dp_sosi := c_dp_sosi_rst;
-  SIGNAL scope_local_bf_sosi_arr : t_dp_sosi_integer_arr(c_sdp_N_pol-1 DOWNTO 0);
-  SIGNAL scope_bf_sum_sosi_arr   : t_dp_sosi_integer_arr(c_sdp_N_pol-1 DOWNTO 0);
-  SIGNAL scope_bf_out_sosi_arr   : t_dp_sosi_integer_arr(c_sdp_N_pol-1 DOWNTO 0);
+  SIGNAL scope_local_bf_sosi_arr : t_dp_sosi_integer_arr(c_sdp_N_pol_bf-1 DOWNTO 0);
+  SIGNAL scope_bf_sum_sosi_arr   : t_dp_sosi_integer_arr(c_sdp_N_pol_bf-1 DOWNTO 0);
+  SIGNAL scope_bf_out_sosi_arr   : t_dp_sosi_integer_arr(c_sdp_N_pol_bf-1 DOWNTO 0);
   SIGNAL beamlet_scale           : STD_LOGIC_VECTOR(c_sdp_W_beamlet_scale-1 DOWNTO 0);
 BEGIN
   ---------------------------------------------------------------
@@ -237,7 +237,7 @@ BEGIN
   ---------------------------------------------------------------
   u_beamlet_stats : ENTITY st_lib.st_sst
   GENERIC MAP(
-    g_nof_stat      => c_sdp_S_sub_bf*c_sdp_N_pol,
+    g_nof_stat      => c_sdp_S_sub_bf*c_sdp_N_pol_bf,
     g_in_data_w     => c_sdp_W_beamlet_sum,
     g_stat_data_w   => c_longword_w,
     g_stat_data_sz  => c_longword_sz/c_word_sz
@@ -320,7 +320,7 @@ BEGIN
       g_sim            => g_sim,
       g_selection      => g_scope_selected_beamlet,
       g_nof_input      => 1,
-      g_n_deinterleave => c_sdp_N_pol,
+      g_n_deinterleave => c_sdp_N_pol_bf,
       g_dat_w          => c_sdp_W_beamlet_sum
     )
     PORT MAP (
@@ -335,7 +335,7 @@ BEGIN
       g_sim            => g_sim,
       g_selection      => g_scope_selected_beamlet,
       g_nof_input      => 1,
-      g_n_deinterleave => c_sdp_N_pol,
+      g_n_deinterleave => c_sdp_N_pol_bf,
       g_dat_w          => c_sdp_W_beamlet_sum
     
     )
@@ -351,7 +351,7 @@ BEGIN
       g_sim            => g_sim,
       g_selection      => g_scope_selected_beamlet,
       g_nof_input      => 1,
-      g_n_deinterleave => c_sdp_N_pol,
+      g_n_deinterleave => c_sdp_N_pol_bf,
       g_dat_w          => c_sdp_W_beamlet
     
     )
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_beamformer_local.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_beamformer_local.vhd
index f1cdb3465b719aba7a7802067a0d3eff5d4329e4..2f75f2f098ace38313417f95651dfd84db0232e0 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_beamformer_local.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_beamformer_local.vhd
@@ -64,8 +64,8 @@ ARCHITECTURE str OF sdp_beamformer_local IS
 
   CONSTANT c_complex_adder_sum_w : NATURAL := c_sdp_W_bf_product + ceil_log2(c_sdp_S_pn); 
 
-  SIGNAL sub_sosi_arr             : t_dp_sosi_arr(c_sdp_N_pol*c_sdp_P_pfb-1 DOWNTO 0)  := (OTHERS => c_dp_sosi_rst);
-  SIGNAL bf_weights_out_sosi_arr  : t_dp_sosi_arr(c_sdp_N_pol*c_sdp_P_pfb-1 DOWNTO 0)  := (OTHERS => c_dp_sosi_rst);
+  SIGNAL sub_sosi_arr             : t_dp_sosi_arr(c_sdp_N_pol_bf*c_sdp_P_pfb-1 DOWNTO 0)  := (OTHERS => c_dp_sosi_rst);
+  SIGNAL bf_weights_out_sosi_arr  : t_dp_sosi_arr(c_sdp_N_pol_bf*c_sdp_P_pfb-1 DOWNTO 0)  := (OTHERS => c_dp_sosi_rst);
   SIGNAL bf_weights_x_sosi_arr    : t_dp_sosi_arr(c_sdp_P_pfb-1 DOWNTO 0) := (OTHERS => c_dp_sosi_rst);
   SIGNAL bf_weights_y_sosi_arr    : t_dp_sosi_arr(c_sdp_P_pfb-1 DOWNTO 0) := (OTHERS => c_dp_sosi_rst);
   SIGNAL deinterleaved_x_sosi_arr : t_dp_sosi_arr(c_sdp_S_pn-1 DOWNTO 0)  := (OTHERS => c_dp_sosi_rst);
@@ -79,9 +79,9 @@ BEGIN
   ---------------------------------------------------------------
   -- COPY INPUT STERAMS FOR X AND Y POLARIZATION PATHS 
   ---------------------------------------------------------------
-  gen_pol : FOR N_pol IN 0 TO c_sdp_N_pol-1 GENERATE
+  gen_pol : FOR N_pol_bf IN 0 TO c_sdp_N_pol_bf-1 GENERATE
     gen_pfb : FOR P_pfb IN 0 TO c_sdp_P_pfb-1 GENERATE
-      sub_sosi_arr(N_pol*c_sdp_P_pfb + P_pfb) <= in_sosi_arr(P_pfb);
+      sub_sosi_arr(N_pol_bf * c_sdp_P_pfb + P_pfb) <= in_sosi_arr(P_pfb);
     END GENERATE;
   END GENERATE;
 
@@ -169,7 +169,7 @@ BEGIN
   gen_interleave : FOR I IN 0 TO c_sdp_S_pn-1 GENERATE 
     u_dp_interleave : ENTITY dp_lib.dp_interleave_n_to_one
     GENERIC MAP(
-      g_nof_inputs => c_sdp_N_pol
+      g_nof_inputs => c_sdp_N_pol_bf
     )
     PORT MAP(
       rst   => dp_rst,      
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_bf_weights.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_bf_weights.vhd
index 229ca24f7ea55d1f21704cc8d4138c8fe3339121..0b868af821c25a614814cb356f9f93a6fbadeadf 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_bf_weights.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_bf_weights.vhd
@@ -48,8 +48,8 @@ ENTITY sdp_bf_weights IS
     dp_clk       : IN  STD_LOGIC;
     dp_rst       : IN  STD_LOGIC;
 
-    in_sosi_arr  : IN  t_dp_sosi_arr(c_sdp_N_pol * c_sdp_P_pfb-1 DOWNTO 0);
-    out_sosi_arr : OUT t_dp_sosi_arr(c_sdp_N_pol * c_sdp_P_pfb-1 DOWNTO 0);
+    in_sosi_arr  : IN  t_dp_sosi_arr(c_sdp_N_pol_bf * c_sdp_P_pfb-1 DOWNTO 0);
+    out_sosi_arr : OUT t_dp_sosi_arr(c_sdp_N_pol_bf * c_sdp_P_pfb-1 DOWNTO 0);
 
     mm_rst       : IN  STD_LOGIC;
     mm_clk       : IN  STD_LOGIC;
@@ -72,9 +72,9 @@ BEGIN
   -- Counter 
   ---------------------------------------------------------------
   -- The BF weigths per PN are stored as 
-  -- (cint16)subband_weights[N_pol][S_pn/Q_fft]_[Q_fft][S_sub_bf], but have 
+  -- (cint16)bf_weights[N_pol_bf][S_pn/Q_fft]_[Q_fft][S_sub_bf], but have
   -- to be applied according the subband data order 
-  -- [N_pol][S_pn/Q_fft]_[S_sub_bf][Q_fft]. Therefore this counter 
+  -- [N_pol_bf][S_pn/Q_fft]_[S_sub_bf][Q_fft]. Therefore this counter
   -- has to account for this difference in order.
   p_cnt : PROCESS(dp_clk, dp_rst)
     VARIABLE v_Q_fft, v_S_sub_bf : NATURAL;
@@ -111,7 +111,7 @@ BEGIN
   ---------------------------------------------------------------
   u_mms_dp_gain_serial_arr : ENTITY dp_lib.mms_dp_gain_serial_arr
   GENERIC MAP (
-    g_nof_streams     => c_sdp_N_pol * c_sdp_P_pfb,
+    g_nof_streams     => c_sdp_N_pol_bf * c_sdp_P_pfb,
     g_nof_gains       => c_sdp_Q_fft * c_sdp_S_sub_bf,
     g_complex_data    => TRUE,
     g_complex_gain    => TRUE,
diff --git a/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd b/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd
index 235e5a8cc89744f128a594c683b8ac824aa1ab5a..89c3c83b02ea5a3ca056f3ee57ecda58b27d8c17 100644
--- a/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd
+++ b/applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd
@@ -73,6 +73,7 @@ PACKAGE sdp_pkg is
   CONSTANT c_sdp_N_fft           : NATURAL := 1024;
   CONSTANT c_sdp_N_pn_lb         : NATURAL := 16;
   CONSTANT c_sdp_N_pol           : NATURAL := 2;
+  CONSTANT c_sdp_N_pol_bf        : NATURAL := 2;
   CONSTANT c_sdp_N_sub           : NATURAL := 512;
   CONSTANT c_sdp_N_taps          : NATURAL := 16;
   CONSTANT c_sdp_P_sq            : NATURAL := 9;
@@ -213,7 +214,7 @@ PACKAGE sdp_pkg is
   CONSTANT c_sdp_cep_udp_src_port_15_8 : STD_LOGIC_VECTOR(7 DOWNTO 0)  := x"D0";        -- 15:8, 7:0 = gn_id (= ID[7:0] = backplane[5:0] & node[1:0])
 
   CONSTANT c_sdp_cep_nof_blocks_per_packet  : NATURAL := 4;
-  CONSTANT c_sdp_cep_nof_beamlets_per_block : NATURAL := c_sdp_N_pol * c_sdp_S_sub_bf; 
+  CONSTANT c_sdp_cep_nof_beamlets_per_block : NATURAL := c_sdp_N_pol_bf * c_sdp_S_sub_bf;   -- FIXME in L2SDP-471
   CONSTANT c_sdp_cep_nof_hdr_fields : NATURAL := 3+12+4+18+1; -- 592b; 9.25 64b words
   CONSTANT c_sdp_cep_hdr_field_sel  : STD_LOGIC_VECTOR(c_sdp_cep_nof_hdr_fields-1 DOWNTO 0) := "101"&"111111111001"&"0111"&"1100"&"00000010"&"000110"&"0";  -- 0=data path, 1=MM controlled TODO
 --CONSTANT c_sdp_cep_hdr_field_sel  : STD_LOGIC_VECTOR(c_sdp_cep_nof_hdr_fields-1 DOWNTO 0) := "100"&"000000010001"&"0100"&"0100"&"00000000"&"101000"&"0";  -- 0=data path, 1=MM controlled TODO
@@ -304,10 +305,10 @@ PACKAGE sdp_pkg is
   -- BF MM address widths
   CONSTANT c_sdp_reg_sdp_info_addr_w        : NATURAL := 4;  
   CONSTANT c_sdp_ram_ss_ss_wide_addr_w      : NATURAL := ceil_log2(c_sdp_N_beamsets) + ceil_log2(c_sdp_P_pfb * c_sdp_S_sub_bf * c_sdp_Q_fft);
-  CONSTANT c_sdp_ram_bf_weights_addr_w      : NATURAL := ceil_log2(c_sdp_N_beamsets) + ceil_log2(c_sdp_N_pol * c_sdp_P_pfb * c_sdp_S_sub_bf * c_sdp_Q_fft);
+  CONSTANT c_sdp_ram_bf_weights_addr_w      : NATURAL := ceil_log2(c_sdp_N_beamsets) + ceil_log2(c_sdp_N_pol_bf * c_sdp_P_pfb * c_sdp_S_sub_bf * c_sdp_Q_fft);
   CONSTANT c_sdp_reg_bf_scale_addr_w        : NATURAL := ceil_log2(c_sdp_N_beamsets) + 1;  
   CONSTANT c_sdp_reg_dp_xonoff_addr_w       : NATURAL := ceil_log2(c_sdp_N_beamsets) + 1;
-  CONSTANT c_sdp_ram_st_bst_addr_w          : NATURAL := ceil_log2(c_sdp_N_beamsets) + ceil_log2(c_sdp_S_sub_bf*c_sdp_N_pol*(c_longword_sz/c_word_sz));
+  CONSTANT c_sdp_ram_st_bst_addr_w          : NATURAL := ceil_log2(c_sdp_N_beamsets) + ceil_log2(c_sdp_S_sub_bf*c_sdp_N_pol_bf*(c_longword_sz/c_word_sz));
   CONSTANT c_sdp_reg_stat_enable_bst_addr_w : NATURAL := ceil_log2(c_sdp_N_beamsets) + c_sdp_reg_stat_enable_addr_w;
   CONSTANT c_sdp_reg_stat_hdr_dat_bst_addr_w: NATURAL := ceil_log2(c_sdp_N_beamsets) + c_sdp_reg_stat_hdr_dat_addr_w;