diff --git a/applications/lofar2/libraries/ddrctrl/src/vhdl/ddrctrl_input_pack.vhd b/applications/lofar2/libraries/ddrctrl/src/vhdl/ddrctrl_input_pack.vhd
index 8dfb6a752b9271c0cd7b873e42e2fde2edbb11a1..b7ef245435ff6908561c50f1c807069a0a69c2e6 100644
--- a/applications/lofar2/libraries/ddrctrl/src/vhdl/ddrctrl_input_pack.vhd
+++ b/applications/lofar2/libraries/ddrctrl/src/vhdl/ddrctrl_input_pack.vhd
@@ -57,17 +57,8 @@ BEGIN
 
 
   -- check if the input data is valid bij doing a and operation on all of them
-  p_valid : PROCESS(in_sosi_arr) IS
+  out_valid <= func_dp_stream_arr_and(in_sosi_arr, "VALID");
 
-    VARIABLE valid    : STD_LOGIC := '1';
-
-  BEGIN
-    valid := '1';
-    FOR I IN 0 TO g_nof_streams-1 LOOP
-      valid := valid AND in_sosi_arr(I).valid;
-    END LOOP;
-    out_valid <= valid;
-  END PROCESS;
 
   out_bsn <= in_sosi_arr(0).bsn(c_dp_stream_bsn_w-1 DOWNTO 0);