diff --git a/modules/wishbone/wb_slave_adapter/wb_slave_adapter.vhd b/modules/wishbone/wb_slave_adapter/wb_slave_adapter.vhd
index cd801762366850216dd1c9a28e38d189ca425538..273f608546f0f18b8e417f036bfacd00b2199e7c 100644
--- a/modules/wishbone/wb_slave_adapter/wb_slave_adapter.vhd
+++ b/modules/wishbone/wb_slave_adapter/wb_slave_adapter.vhd
@@ -154,7 +154,7 @@ begin  -- rtl
       else
         case fsm_state is
           when IDLE =>
-            if(slave_in.stb = '1' and master_in.stall = '0' and master_in.ack = '0') then
+            if(slave_in.stb = '1' and (master_in.stall = '0' or g_master_mode = CLASSIC) and master_in.ack = '0') then
               fsm_state <= WAIT4ACK;
             end if;
           when WAIT4ACK =>