diff --git a/src/libs/actions/Report.ts b/src/libs/actions/Report.ts index 879653d78e10..d0902516de96 100644 --- a/src/libs/actions/Report.ts +++ b/src/libs/actions/Report.ts @@ -3499,7 +3499,16 @@ function navigateToMostRecentReport(currentReport: OnyxEntry) { const lastAccessedReportID = findLastAccessedReport(false, false, undefined, currentReport?.reportID)?.reportID; if (lastAccessedReportID) { + const isChatThread = isChatThreadReportUtils(currentReport); const lastAccessedReportRoute = ROUTES.REPORT_WITH_ID.getRoute(lastAccessedReportID); + if (isChatThread) { + // Using requestAnimationFrame to wait for RHP modal dismissal before navigating, avoiding navigation stack issues on web/desktop. + requestAnimationFrame(() => { + Navigation.navigate(lastAccessedReportRoute); + }); + return; + } + Navigation.goBack(lastAccessedReportRoute); } else { const isChatThread = isChatThreadReportUtils(currentReport);