diff --git a/sim/if_wb_master.svh b/sim/if_wb_master.svh
index accfb060c7d6a0d87026306108f5705ea701870d..ca2d7db6fc62a04eb431b11ace0eade998a9b18e 100644
--- a/sim/if_wb_master.svh
+++ b/sim/if_wb_master.svh
@@ -152,7 +152,7 @@ interface IWishboneMaster
          dat_o <= gen_data(c.data[i]);
          @(posedge clk_i);
 
-         while (ack != 1'b1 && err != 1'b1 && rty == 1'b1) @(posedge clk_i);
+         while (ack != 1'b1 && err != 1'b1 && rty == 1'b0) @(posedge clk_i);
 
          if (err || rty) begin
             c.result = (err ? R_ERROR: R_RETRY);