diff --git a/src/pages/inbox/report/ReportActionsList.tsx b/src/pages/inbox/report/ReportActionsList.tsx
index 800e15775be7..862379d07ed2 100644
--- a/src/pages/inbox/report/ReportActionsList.tsx
+++ b/src/pages/inbox/report/ReportActionsList.tsx
@@ -441,14 +441,21 @@ function ReportActionsListContent({reportID, onLayout}: ReportActionsListProps)
return ;
}
+ // The FIX badge points at the errored child (the just-failed expense), which is the newest action at the
+ // bottom of the chat — never above the viewport — so it must surface regardless of scroll position, but only
+ // when it has a resolved, rendered target (actionBadgeTargetIndex >= 0) so pressing the pill scrolls to it
+ // instead of being a no-op (some RBR sources leave actionTargetReportActionID undefined). Green badges stay a
+ // "scroll up to your queue" affordance and remain gated to the above-viewport case.
+ const shouldShowActionBadge = !isProduction && (isActionBadgeAboveViewport || (reportAttributes?.actionBadge === CONST.REPORT.ACTION_BADGE.FIX && actionBadgeTargetIndex >= 0));
+
return (
<>