diff --git a/hdl/EB_SPEC_Test/EB_2_wb_converter.vhd b/hdl/EB_SPEC_Test/EB_2_wb_converter.vhd
index 5daef13ca903080252cd962f094cedbfd4696e2e..f0110bddf2e682675ae7c64482bdcb3c653a7f05 100644
--- a/hdl/EB_SPEC_Test/EB_2_wb_converter.vhd
+++ b/hdl/EB_SPEC_Test/EB_2_wb_converter.vhd
@@ -397,13 +397,13 @@ begin
             
         else
             -- RX cycle line lowered before all words were transferred
-            if    ((s_EB_RX_byte_cnt < s_EB_packet_length) AND (s_rx_fifo_empty = '1') AND  EB_RX_i.CYC = '0') then
+            if    ((s_state_RX /= ERROR) AND (s_state_RX /= IDLE) AND (s_EB_RX_byte_cnt < s_EB_packet_length) AND (s_rx_fifo_empty = '1') AND  EB_RX_i.CYC = '0') then
                 report "EB: Packet was shorter than specified by UDP length field" severity note;
                 --ERROR: -- RX cycle line lowered before all words were transferred
                 s_state_RX                   <= ERROR;
                 s_state_TX                   <= IDLE;
             --
-            elsif((s_EB_RX_byte_cnt > s_EB_packet_length) AND ((s_state_RX /= IDLE) AND (s_state_RX /= EB_HDR_REC))) then
+            elsif((s_EB_RX_byte_cnt > s_EB_packet_length) AND ((s_state_RX /= ERROR) AND (s_state_RX /= IDLE) AND (s_state_RX /= EB_HDR_REC))) then
                 report "EB: Packet was longer than specified by UDP length field" severity note;
                 s_state_RX                   <= ERROR;
                 s_state_TX                   <= IDLE;
@@ -609,9 +609,10 @@ begin
 
 			s_EB_TX_HDR        <= init_EB_HDR;
 			PROBE_ID           <= X"1337BEEF";
-			s_EB_TX_CUR_CYCLE  <= to_EB_CYC(test);
+			s_EB_TX_CUR_CYCLE  <= INIT_EB_CYC;
+			s_EB_RX_CUR_CYCLE  <= INIT_EB_CYC;
 			s_EB_TX_base_wr_adr<= (others => '0');
-			s_EB_RX_CUR_CYCLE  <= to_EB_CYC(test);
+			s_WB_CYC <= '0';
 			
 			s_EB_RX_ACK        <= '0';
 			
@@ -661,7 +662,8 @@ begin
             
             
             case s_state_RX   is
-                when IDLE                   =>  s_EB_packet_length <= (others => '0');
+                when IDLE                   =>  s_EB_RX_CUR_CYCLE  <= INIT_EB_CYC;
+                                                s_EB_packet_length <= (others => '0');
                                                 s_status_clr  <= '1';
                                                  
                                             
@@ -797,6 +799,7 @@ begin
 
                 when ERROR                  =>  report "EB: ERROR" severity warning;
                                                 s_WB_CYC <= '0';
+                                                s_EB_packet_length <= (others => '0'); 
                                                 s_tx_fifo_clr <= '1';
                                                 s_rx_fifo_clr <= '1';  
             end case;
diff --git a/hdl/EB_SPEC_Test/EB_HDR_pkg.vhd b/hdl/EB_SPEC_Test/EB_HDR_pkg.vhd
index 254f363ea8fbe0f959f0ee0915c17cabb854c382..6cbba4120eb5ae7af2ed063f89b4472fe196b45e 100644
--- a/hdl/EB_SPEC_Test/EB_HDR_pkg.vhd
+++ b/hdl/EB_SPEC_Test/EB_HDR_pkg.vhd
@@ -192,6 +192,10 @@ return EB_HDR;
 function TO_EB_CYC(X : std_logic_vector)
 return EB_CYC;
 
+function INIT_EB_CYC
+return EB_CYC;
+
+
 function TO_STD_LOGIC_VECTOR(X : EB_CYC)
 return std_logic_vector;
 
@@ -396,6 +400,25 @@ return EB_CYC is
     return tmp;
 end function TO_EB_CYC;
 
+function INIT_EB_CYC
+return EB_CYC is
+    variable tmp : EB_CYC;
+    begin
+        tmp.BCA_CFG 	:= '0';
+		tmp.RCA_CFG 	:= '0';
+		tmp.RD_FIFO   	:= '0';
+		tmp.RESERVED1 	:= '0';
+		tmp.DROP_CYC 	:= '1';
+		tmp.WCA_CFG 	:= '0';
+		tmp.WR_FIFO 	:= '0';
+		tmp.RESERVED2 	:= '0';
+		tmp.RESERVED3 	:= (others => '0');
+		tmp.WR_CNT 		:= (others => '0');
+		tmp.RD_CNT 		:= (others => '0');
+
+    return tmp;
+end function INIT_EB_CYC;
+
 function TO_STD_LOGIC_VECTOR(X : EB_CYC)
 return std_logic_vector is
     variable tmp : std_logic_vector(31 downto 0) := (others => '0');