diff --git a/e2e/test/scenarios/onboarding/home/homepage.cy.spec.js b/e2e/test/scenarios/onboarding/home/homepage.cy.spec.js
index 7b60ce5168fa430db9510c562028636975a4c21e..beedcb1a4599466c700ee3392579f13107229c08 100644
--- a/e2e/test/scenarios/onboarding/home/homepage.cy.spec.js
+++ b/e2e/test/scenarios/onboarding/home/homepage.cy.spec.js
@@ -100,6 +100,12 @@ describe("scenarios > home > homepage", () => {
 
       cy.visit("/");
       cy.wait("@getXrayCandidates");
+      // The repeated assertion below uses { timeout: 0 } and sometimes it happens too fast,
+      // even before React finishes re-rendering after @getXrayCandidates completes.
+      // This assertion prevents it.
+      cy.findByTestId("home-page")
+        .findByTestId("loading-indicator")
+        .should("not.exist");
 
       repeatAssertion(() =>
         cy