Index: frontend/src/components/PrivateRoute.tsx
===================================================================
--- frontend/src/components/PrivateRoute.tsx	(revision 9c27e0b361bceb78421216a39a5504df930db6fd)
+++ frontend/src/components/PrivateRoute.tsx	(revision 95d7665e71331da38cabb8fd9ed085dfecdcc9ac)
@@ -8,7 +8,6 @@
 
 const PrivateRoute: React.FC<PrivateRouteProps> = ({ children }) => {
-	const { isAuthenticated } = useAuth();
-
-	if (!isAuthenticated) {
+	const { isAuthenticated, loading } = useAuth();
+	if (!isAuthenticated && !loading) {
 		return <Navigate to="/login" replace />;
 	}
Index: frontend/src/components/SubjectCatalog/SubjectCatalog.tsx
===================================================================
--- frontend/src/components/SubjectCatalog/SubjectCatalog.tsx	(revision 9c27e0b361bceb78421216a39a5504df930db6fd)
+++ frontend/src/components/SubjectCatalog/SubjectCatalog.tsx	(revision 95d7665e71331da38cabb8fd9ed085dfecdcc9ac)
@@ -52,4 +52,5 @@
 
 	useEffect(() => {
+		if (!accessToken) return;
 		fetchPreferences({
 			setDislikedIds,
Index: frontend/src/pages/Recommendations.tsx
===================================================================
--- frontend/src/pages/Recommendations.tsx	(revision 9c27e0b361bceb78421216a39a5504df930db6fd)
+++ frontend/src/pages/Recommendations.tsx	(revision 95d7665e71331da38cabb8fd9ed085dfecdcc9ac)
@@ -101,4 +101,5 @@
 
 	useEffect(() => {
+		if (!accessToken) return;
 		fetchPreferences({
 			setIsLoading,
Index: frontend/src/pages/SubjectPreferences.tsx
===================================================================
--- frontend/src/pages/SubjectPreferences.tsx	(revision 9c27e0b361bceb78421216a39a5504df930db6fd)
+++ frontend/src/pages/SubjectPreferences.tsx	(revision 95d7665e71331da38cabb8fd9ed085dfecdcc9ac)
@@ -72,4 +72,5 @@
 
 	useEffect(() => {
+		if (!accessToken) return;
 		fetchPreferences({
 			setDislikedIds,
@@ -114,5 +115,4 @@
 		setSelectedSubjects(newSubjects);
 		setIdsToMap(newMap);
-		console.log(newSubjects);
 		setIsLoaded(true);
 	}, [favoriteIds, likedIds, dislikedIds, activeFilter, subjects]);
