diff --git a/applications/arts/designs/arts_unb1_sc1_3dish_1pol/src/vhdl/arts_unb1_sc1_3dish_1pol.vhd b/applications/arts/designs/arts_unb1_sc1_3dish_1pol/src/vhdl/arts_unb1_sc1_3dish_1pol.vhd
index 7ff39a73cc056a856f282d62447dcdc507e88ac6..d945214c4c25153eb8b6c334185c7c3380cb0e69 100644
--- a/applications/arts/designs/arts_unb1_sc1_3dish_1pol/src/vhdl/arts_unb1_sc1_3dish_1pol.vhd
+++ b/applications/arts/designs/arts_unb1_sc1_3dish_1pol/src/vhdl/arts_unb1_sc1_3dish_1pol.vhd
@@ -152,7 +152,7 @@ ARCHITECTURE str OF arts_unb1_sc1_3dish_1pol IS
   -------------------------------------------------------------------------------
   -- DP split, Repack
   -------------------------------------------------------------------------------
-  CONSTANT c_nof_sc1_symbols        : NATURAL := 6; -- 24 16b-subbands = 6 64b-words
+  CONSTANT c_nof_sc1_symbols        : NATURAL := 24;
 
   SIGNAL dp_split_src_in_2arr_2     : t_dp_siso_2arr_2(c_nof_10GbE_streams-1 DOWNTO 0);
   SIGNAL dp_split_src_out_2arr_2    : t_dp_sosi_2arr_2(c_nof_10GbE_streams-1 DOWNTO 0);
@@ -449,7 +449,9 @@ BEGIN
   );
 
   -------------------------------------------------------------------------------
-  -- Forward only the first 6 64b words (=24 16b beamlets)
+  -- Forward only the first 24 64b words
+  -- . This will forward 4 sets (bf_units) of 24 beamlets. We'll discard 
+  --   substreams 1..3 later and only use substream 0 (beamlets 0..23).
   -------------------------------------------------------------------------------
   gen_dp_split: FOR i IN 0 TO c_nof_10GbE_streams-1 GENERATE
     u_dp_split : ENTITY dp_lib.dp_split
@@ -474,45 +476,24 @@ BEGIN
     dp_split_src_out_arr(i)      <=  dp_split_src_out_2arr_2(i)(1); 
   END GENERATE;
 
-  -------------------------------------------------------------------------------
-  -- Repack 6 64b words into 24 16b words (beamlets)
-  -------------------------------------------------------------------------------
-  gen_dp_repack_data: FOR i IN 0 TO c_nof_10GbE_streams-1 GENERATE
-    u_dp_repack_data : ENTITY dp_lib.dp_repack_data
-    GENERIC MAP (
-      g_in_dat_w      => c_xgmii_data_w,
-      g_in_nof_words  => 1,
-      g_in_symbol_w   => c_channel_dat_w,
-      g_out_dat_w     => c_channel_dat_w,
-      g_out_nof_words => 4,
-      g_out_symbol_w  => c_channel_dat_w
-    )
-    PORT MAP (
-      rst             => dp_rst,
-      clk             => dp_clk,
-  
-      snk_out         => dp_split_src_in_arr(i),
-      snk_in          => dp_split_src_out_arr(i),
-  
-      src_in          => dp_repack_data_src_in_arr(i),
-      src_out         => dp_repack_data_src_out_arr(i)
-    );
-  END GENERATE;
-
   -------------------------------------------------------------------------------
   -- bf_unit
   -- . We're using the unquantized raw output data(15..0). The default weights
   --   are complex(1) so overflow will not occur during multiplication. 
   --   However, overflow might occur (in theory) during the adder stage. We're 
-  --   currently accepting this risk as it is low --FIXME beware!
+  --   currently accepting this risk as it is low.
   -------------------------------------------------------------------------------
   -- Wire complex inputs
-  p_complex : PROCESS(dp_repack_data_src_out_arr) IS
+  p_complex : PROCESS(dp_split_src_out_arr) IS
   BEGIN
-    bf_unit_snk_in_arr <= dp_repack_data_src_out_arr;
+    bf_unit_snk_in_arr <= dp_split_src_out_arr;
     FOR i IN 0 TO c_nof_10GbE_streams-1 LOOP
-      bf_unit_snk_in_arr(i).im(c_channel_compl_dat_w-1 DOWNTO 0) <= dp_repack_data_src_out_arr(i).data(c_channel_dat_w-1 DOWNTO c_channel_compl_dat_w);
-      bf_unit_snk_in_arr(i).re(c_channel_compl_dat_w-1 DOWNTO 0) <= dp_repack_data_src_out_arr(i).data(c_channel_compl_dat_w-1 DOWNTO 0);
+      bf_unit_snk_in_arr(i).data <= (OTHERS=> '0');
+      bf_unit_snk_in_arr(i).im <= (OTHERS=> '0');
+      bf_unit_snk_in_arr(i).re <= (OTHERS=> '0');
+      -- Forward only bf_unit substream 0
+      bf_unit_snk_in_arr(i).im(c_channel_compl_dat_w-1 DOWNTO 0) <= dp_split_src_out_arr(i).data(c_channel_dat_w-1 DOWNTO c_channel_compl_dat_w);
+      bf_unit_snk_in_arr(i).re(c_channel_compl_dat_w-1 DOWNTO 0) <= dp_split_src_out_arr(i).data(c_channel_compl_dat_w-1 DOWNTO 0);
     END LOOP;
   END PROCESS;
 
@@ -538,7 +519,7 @@ BEGIN
     reg_st_sst_miso     => reg_bf_unit_st_sst_miso,
                            
     in_sosi_arr         => bf_unit_snk_in_arr,
-    in_siso_arr         => dp_repack_data_src_in_arr,
+    in_siso_arr         => dp_split_src_in_arr,
     out_raw_sosi        => bf_unit_raw_src_out,
     out_bst_sosi        => bf_unit_bst_src_out,
     out_qua_sosi        => bf_unit_qua_src_out