diff --git a/packages/ra-core/src/auth/useLogoutIfAccessDenied.ts b/packages/ra-core/src/auth/useLogoutIfAccessDenied.ts
index 5e9429dcae6..d49e4ab4280 100644
--- a/packages/ra-core/src/auth/useLogoutIfAccessDenied.ts
+++ b/packages/ra-core/src/auth/useLogoutIfAccessDenied.ts
@@ -43,6 +43,7 @@ const useLogoutIfAccessDenied = (): LogoutIfAccessDenied => {
     const logout = useLogout();
     const notify = useNotify();
     const history = useHistory();
+
     const logoutIfAccessDenied = useCallback(
         (error?: any, disableNotification?: boolean) =>
             authProvider
diff --git a/packages/ra-core/src/dataProvider/performQuery/performOptimisticQuery.ts b/packages/ra-core/src/dataProvider/performQuery/performOptimisticQuery.ts
index e016658de3b..c462c3bd0b9 100644
--- a/packages/ra-core/src/dataProvider/performQuery/performOptimisticQuery.ts
+++ b/packages/ra-core/src/dataProvider/performQuery/performOptimisticQuery.ts
@@ -89,7 +89,10 @@ export const performOptimisticQuery = ({
                         console.error(error);
                     }
                     return logoutIfAccessDenied(error).then(loggedOut => {
-                        if (loggedOut) return;
+                        if (loggedOut) {
+                            dispatch({ type: FETCH_END });
+                            return;
+                        }
                         dispatch({
                             type: `${action}_FAILURE`,
                             error: error.message ? error.message : error,
diff --git a/packages/ra-core/src/dataProvider/performQuery/performPessimisticQuery.ts b/packages/ra-core/src/dataProvider/performQuery/performPessimisticQuery.ts
index 9daeec1b245..214c4e34cc4 100644
--- a/packages/ra-core/src/dataProvider/performQuery/performPessimisticQuery.ts
+++ b/packages/ra-core/src/dataProvider/performQuery/performPessimisticQuery.ts
@@ -71,7 +71,10 @@ export const performPessimisticQuery = ({
                     console.error(error);
                 }
                 return logoutIfAccessDenied(error).then(loggedOut => {
-                    if (loggedOut) return;
+                    if (loggedOut) {
+                        dispatch({ type: FETCH_END });
+                        return;
+                    }
                     dispatch({
                         type: `${action}_FAILURE`,
                         error: error.message ? error.message : error,
diff --git a/packages/ra-core/src/dataProvider/performQuery/performUndoableQuery.ts b/packages/ra-core/src/dataProvider/performQuery/performUndoableQuery.ts
index 8716f80d64f..fae1f64dc3c 100644
--- a/packages/ra-core/src/dataProvider/performQuery/performUndoableQuery.ts
+++ b/packages/ra-core/src/dataProvider/performQuery/performUndoableQuery.ts
@@ -129,7 +129,10 @@ export const performUndoableQuery = ({
                         console.error(error);
                     }
                     return logoutIfAccessDenied(error).then(loggedOut => {
-                        if (loggedOut) return;
+                        if (loggedOut) {
+                            dispatch({ type: FETCH_END });
+                            return;
+                        }
                         dispatch({
                             type: `${action}_FAILURE`,
                             error: error.message ? error.message : error,