diff --git a/classes/login/ShibbolethLogin.php b/classes/login/ShibbolethLogin.php
index 0d08f8f512e116d1e6d229df2901a959b98ff9f4..072361860a723de3396556b60589eae342f1f47c 100644
--- a/classes/login/ShibbolethLogin.php
+++ b/classes/login/ShibbolethLogin.php
@@ -21,11 +21,15 @@ class ShibbolethLogin extends LoginHandler {
             // and in that case we know only their eppn.
 
             return $this->onIdentityDataReceived($eppn, function($identity) use($eppn) {
-                $identity->email = $_SERVER['mail'];
-                $identity->name = $_SERVER['givenName'];
-                $identity->surname = $_SERVER['sn'];
-                $identity->eppn = $eppn;
-            });
+                        $identity->email = $_SERVER['mail'];
+                        if (isset($_SERVER['givenName'])) {
+                            $identity->name = $_SERVER['givenName'];
+                        }
+                        if (isset($_SERVER['sn'])) {
+                            $identity->surname = $_SERVER['sn'];
+                        }
+                        $identity->eppn = $eppn;
+                    });
         } else {
             http_response_code(500);
             die("Shib-Session-ID not found!");