diff --git a/modules/wishbone/wb_reg_link/xwb_register_link.vhd b/modules/wishbone/wb_reg_link/xwb_register_link.vhd
index dd8ef51e4bd2a2aef638152702189ed137f83127..f75ef92c93c0d6ed51bef2bcff926e992e1f9b91 100644
--- a/modules/wishbone/wb_reg_link/xwb_register_link.vhd
+++ b/modules/wishbone/wb_reg_link/xwb_register_link.vhd
@@ -6,7 +6,7 @@
 -- Author     : Wesley W. Terpstra
 -- Company    : GSI
 -- Created    : 2013-12-16
--- Last update: 2018-10-29
+-- Last update: 2018-11-08
 -- Platform   : FPGA-generic
 -- Standard   : VHDL'93
 -------------------------------------------------------------------------------
@@ -46,10 +46,11 @@ architecture rtl of xwb_register_link is
   signal s_push, s_pop   : std_logic;
   signal s_full, s_empty : std_logic;
   signal r_ack,  r_err   : std_logic;
+  signal r_cyc           : std_logic;
   signal r_dat           : t_wishbone_data;
 
 begin
-  
+
   sp : wb_skidpad
   generic map(
     g_adrbits   => c_wishbone_address_width
@@ -72,24 +73,26 @@ begin
   );
 
 
-  slave_o.ack   <= r_ack;	
+  slave_o.ack   <= r_ack;
   slave_o.err   <= r_err;
-  slave_o.dat   <= r_dat; 
+  slave_o.dat   <= r_dat;
   slave_o.rty   <= '0';
 
   s_pop         <= not master_i.stall;
   s_push        <= slave_i.cyc and slave_i.stb and not s_full;
   slave_o.stall <= s_full;
-  master_o.stb  <= not s_empty; 
-  master_o.cyc  <= slave_i.cyc;
+  master_o.stb  <= not s_empty;
+  master_o.cyc  <= r_cyc;
 
   main : process(clk_sys_i, rst_n_i) is
   begin
     if rst_n_i = '0' then
+      r_cyc  <= '0';
       r_ack  <= '0';
       r_err  <= '0';
-      r_dat  <= (others => '0');  
+      r_dat  <= (others => '0');
     elsif rising_edge(clk_sys_i) then
+      r_cyc <= slave_i.cyc;
       -- no flow control on ack/err
       r_ack <= master_i.ack;
       r_err <= master_i.err;