diff --git a/core/Controller.php b/core/Controller.php
index <HASH>..<HASH> 100644
--- a/core/Controller.php
+++ b/core/Controller.php
@@ -20,6 +20,7 @@ use monolyth\account\Logout_Controller;
 use monolyth\HTTP301_Exception;
 use monolyth\HTTP400_Exception;
 use monolyth\HTTP403_Exception;
+use monolyth\HTTP401_Exception;
 use monolyth\HTTP404_Exception;
 use monolyth\render\HTTP404_Controller;
 use monolyth\HTTP405_Exception;
@@ -160,6 +161,13 @@ abstract class Controller
             }
         );
         $this->addRequirement(
+            'monolyth\Ajax_Login_Required',
+            $user->loggedIn(),
+            function() use($project, $redir) {
+                throw new HTTP401_Exception;
+            }
+        );
+        $this->addRequirement(
             'monolyth\Nologin_Required',
             !$user->loggedIn(),
             function() { throw new HTTP301_Exception($this->url('')); }
this should be its own exception so we can catch it in an angular interceptor for instance