diff --git a/app/javascript/routes/AuthenticatedOnly.jsx b/app/javascript/routes/AuthenticatedOnly.jsx
index f8fde5ed103fb521021028efa918b2748f3cdf1f..c8997407b402090032c50014ae75e7fb2b6008ec 100644
--- a/app/javascript/routes/AuthenticatedOnly.jsx
+++ b/app/javascript/routes/AuthenticatedOnly.jsx
@@ -15,9 +15,7 @@
 // with Greenlight; if not, see <http://www.gnu.org/licenses/>.
 
 import React from 'react';
-import {
-  Navigate, Outlet, useLocation, useMatch,
-} from 'react-router-dom';
+import { Navigate, Outlet, useMatch } from 'react-router-dom';
 import { useTranslation } from 'react-i18next';
 import { toast } from 'react-toastify';
 import { useAuth } from '../contexts/auth/AuthProvider';
@@ -26,7 +24,6 @@ import useDeleteSession from '../hooks/mutations/sessions/useDeleteSession';
 export default function AuthenticatedOnly() {
   const { t } = useTranslation();
   const currentUser = useAuth();
-  const location = useLocation();
   const roomsMatch = useMatch('/rooms/:friendlyId');
   const superAdminMatch = useMatch('/admin/*');
   const deleteSession = useDeleteSession({ showToast: false });
@@ -46,7 +43,7 @@ export default function AuthenticatedOnly() {
 
   // Custom logic to redirect from Rooms page to join page if the user isn't signed in
   if (!currentUser.signed_in && roomsMatch) {
-    return <Navigate to={`${location.pathname}/join`} />;
+    return <Navigate to={`${roomsMatch.pathnameBase}/join`} />;
   }
 
   if (currentUser.signed_in && currentUser.isSuperAdmin && !superAdminMatch) {