diff --git a/libraries/base/dp/src/vhdl/dp_concat.vhd b/libraries/base/dp/src/vhdl/dp_concat.vhd
index 46361034acb6da8466cb4a7e7262ff70f2a47eac..2cd1dc3b30d7b6e47b430e65824cdf7070203c86 100644
--- a/libraries/base/dp/src/vhdl/dp_concat.vhd
+++ b/libraries/base/dp/src/vhdl/dp_concat.vhd
@@ -259,6 +259,8 @@ BEGIN
                 nxt_state <= s_sop;
               ELSE                                         -- Output frame needs 2 words
                 flush_arr(c_tail) <= c_dp_siso_rdy;        -- also ready for hold input when the tail eop is there
+                v_out_empty := func_dp_empty_concat(head_empty_reg, tail_empty, c_nof_symbols_per_data);
+                nxt_out_empty_reg <= v_out_empty;          -- capture the output empty field (needed in s_eop)
                 nxt_state <= s_eop;
               END IF;
             END IF;