diff --git a/src/scoreboard.sv b/src/scoreboard.sv
index a53aacbb2292075b972de64c224c2fa47b8ded0e..c78897da17055ad20532c554ba231d40d12ac9a6 100644
--- a/src/scoreboard.sv
+++ b/src/scoreboard.sv
@@ -143,19 +143,19 @@ module scoreboard #(
         if (mem_q[i].pending) begin
           mem_n[i].pending = 1'b0;
           mem_n[i].issued = 1'b0;
+          mem_n[i].sbe.valid = 1'b0;
           flushed[i] = 1'b1;
           has_mem_access_n[i] = 1'b0;
         end
       end
-    end
-
-    // ------------
-    // FU NONE
-    // ------------
-    for (int unsigned i = 0; i < NR_ENTRIES; i++) begin
+    end else if (mem_q[issue_pointer_q].sbe.fu == ariane_pkg::NONE &&
+                 mem_q[issue_pointer_q].issued &&
+                 ~mem_q[issue_pointer_q].pending) begin
+      // ------------
+      // FU NONE
+      // ------------
       // The FU is NONE -> this instruction is valid immediately
-      if (mem_q[i].sbe.fu == ariane_pkg::NONE && mem_q[i].issued && ~mem_q[i].pending)
-        mem_n[i].sbe.valid = 1'b1;
+      mem_n[issue_pointer_q].sbe.valid = 1'b1;
     end
 
     // ------------