diff --git a/NodeApp/src/managers/SessionManager.ts b/NodeApp/src/managers/SessionManager.ts
index 6d81a649726c48b592fdcd0dc248007a68fdf727..4d533c08eec39e1fcd9623787104f65a370b2cb8 100644
--- a/NodeApp/src/managers/SessionManager.ts
+++ b/NodeApp/src/managers/SessionManager.ts
@@ -52,6 +52,8 @@ class SessionManager {
     async login(user: string, password: string) {
         const spinner: ora.Ora = ora('Logging in').start();
         try {
+            this.profile = new User();
+
             const response = await axios.post(HttpManager.LOGIN_URL, {
                 user    : user,
                 password: password
@@ -82,13 +84,13 @@ class SessionManager {
     }
 
     checkPermissions(verbose: boolean = true, ...checkPermissions: Array<string>): Permissions {
-        function hasPermission(permissionPredicate: () => boolean, verboseText: string): boolean {
+        const hasPermission = (permissionPredicate: () => boolean, verboseText: string): boolean => {
             const spinner: ora.Ora = ora({
                                              text  : verboseText,
-                                             indent: 8
+                                             indent: 4
                                          });
 
-            let isAllowed: boolean = permissionPredicate();
+            let isAllowed: boolean = this.profile.id !== -1 && permissionPredicate();
 
             if ( verbose ) {
                 spinner.start();
@@ -96,7 +98,7 @@ class SessionManager {
             }
 
             return isAllowed;
-        }
+        };
 
         return {
             teachingStaff: checkPermissions.length == 0 || checkPermissions.includes('teachingStaff') ? hasPermission(() => this.profile.isTeachingStaff, 'Teaching staff permissions') : false,