diff --git a/e2e/test/scenarios/dashboard/dashboard-reproductions.cy.spec.js b/e2e/test/scenarios/dashboard/dashboard-reproductions.cy.spec.js
index 2f79d48361dd8aaeb40e16b2b235176e9e74b3f4..b29fdb4556ecd86324e52417296fe3ade1987e33 100644
--- a/e2e/test/scenarios/dashboard/dashboard-reproductions.cy.spec.js
+++ b/e2e/test/scenarios/dashboard/dashboard-reproductions.cy.spec.js
@@ -12,6 +12,7 @@ import {
   appBar,
   assertDatasetReqIsSandboxed,
   assertQueryBuilderRowCount,
+  assertTabSelected,
   cartesianChartCircle,
   closeDashboardInfoSidebar,
   closeDashboardSettingsSidebar,
@@ -762,7 +763,11 @@ describe("issue 31274", () => {
       visitDashboard(dashboard.id);
       editDashboard(dashboard.id);
 
-      getDashboardCard(1).realHover();
+      assertTabSelected("Tab 1");
+
+      getDashboardCard(1).realHover({
+        scrollBehavior: "top", // prevents flaky tests
+      });
 
       cy.log(
         "Make sure cypress can click the element, which means it is not covered by another",