diff --git a/src/api/PrivateRoute/PrivateRoute.tsx b/src/api/PrivateRoute/PrivateRoute.tsx
index 54532ff7bd9a07c8ff4174ab3be96d129cddc6dc..e75de44b8eb69f4ded85503d5536e2cd7e724a0c 100644
--- a/src/api/PrivateRoute/PrivateRoute.tsx
+++ b/src/api/PrivateRoute/PrivateRoute.tsx
@@ -3,6 +3,7 @@ import axios from 'axios';
 import { Route, Redirect, RouteProps } from 'react-router-dom';
 import { NonAuthRoutes } from 'api/routes';
 import { AuthContext } from 'components/AuthUser/AuthContext';
+import { Roles } from 'api/userRoles';
 
 /**
  * A wrapper for <Route> that redirects to the login screen if you're not yet authenticated.
@@ -22,14 +23,12 @@ export const PrivateRoute = ({
   requiredRoles,
 }: Props): JSX.Element => {
   const [auth, setAuth] = useState<boolean>(false);
-  const [loading, setLoading] = useState<boolean>(false);
   const { role } = useContext(AuthContext);
 
   useEffect(() => {
     const fetch = async (): Promise<unknown> => {
       const result = await axios('/api/web/login/is_authenticated');
       setAuth(result.data.is_authenticated);
-      setLoading(true);
       return null;
     };
     /*
@@ -38,9 +37,8 @@ export const PrivateRoute = ({
     this component state is triggered, falling in unnecessary calls to the
     server.
     */
-    if (role) fetch();
+    if (role !== Roles.visitor) fetch();
   }, [auth]);
-
   const userHasRequiredRole = requiredRoles.includes(role);
   const message = userHasRequiredRole
     ? 'Please log in to view this page'