diff --git a/hw/ip/spatz/src/spatz_vlsu.sv b/hw/ip/spatz/src/spatz_vlsu.sv
index 7accfe52..e511a37a 100644
--- a/hw/ip/spatz/src/spatz_vlsu.sv
+++ b/hw/ip/spatz/src/spatz_vlsu.sv
@@ -947,7 +947,7 @@ module spatz_vlsu
           for (int unsigned fu = 0; fu < N_FU; fu++) begin
             automatic int unsigned port = intf * N_FU + fu;
 
-            rob_wdata[intf][fu]  = vrf_rdata_i[intf][0][ELEN*port +: ELEN];
+            rob_wdata[intf][fu]  = vrf_rdata_i[intf][0][ELEN*fu +: ELEN];
             rob_wid[intf][fu]    = rob_id[intf][fu];
             rob_req_id[intf][fu] = vrf_rvalid_i[intf][0] && (!mem_is_indexed || vrf_rvalid_i[intf][1]);
             rob_push[intf][fu]   = rob_req_id[intf][fu];