diff --git a/lib/bootstrap.php b/lib/bootstrap.php
index 1c3af707ff317cce0d7e24cdcf2e9dbbc3c734f3..3950eefc8c7bc064aba77a349d59bc13616190bb 100644
--- a/lib/bootstrap.php
+++ b/lib/bootstrap.php
@@ -65,7 +65,14 @@ if (isset($_SERVER['SERVER_NAME'])) {
 $GLOBALS['ASSETS_URL'] = $ABSOLUTE_URI_STUDIP . 'assets/';
 
 require __DIR__ . '/classes/StudipFileloader.php';
-$added = StudipFileloader::load('config_defaults.inc.php config_local.inc.php', $GLOBALS, compact('STUDIP_BASE_PATH', 'ABSOLUTE_URI_STUDIP', 'ASSETS_URL', 'CANONICAL_RELATIVE_PATH_STUDIP'), true);
+
+$added_configs = [];
+
+StudipFileloader::load('config_defaults.inc.php config_local.inc.php', $added_configs, compact('STUDIP_BASE_PATH', 'ABSOLUTE_URI_STUDIP', 'ASSETS_URL', 'CANONICAL_RELATIVE_PATH_STUDIP'), true);
+
+foreach($added_configs as $key => $value) {
+    $GLOBALS[$key] = $value;
+}
 
 // If no ENV setting was found in the config files, assume ENV=production
 if (!defined('Studip\ENV')) {
diff --git a/lib/phplib/Seminar_Auth.class.php b/lib/phplib/Seminar_Auth.class.php
index c1c2b860b8b57de1d884f7cce56954c3fdaa8cac..3a915e56fb1a324916cd505da26a7966c9c62f73 100644
--- a/lib/phplib/Seminar_Auth.class.php
+++ b/lib/phplib/Seminar_Auth.class.php
@@ -356,7 +356,7 @@ class Seminar_Auth
 
         if ($check_auth['uid']) {
             $uid = $check_auth['uid'];
-            if ($check_auth['need_email_activation'] == $uid) {
+            if (isset($check_auth['need_email_activation']) && $check_auth['need_email_activation'] == $uid) {
                 $this->need_email_activation = $uid;
                 $_SESSION['semi_logged_in'] = $uid;
                 return false;
diff --git a/lib/phplib/Seminar_Session.class.php b/lib/phplib/Seminar_Session.class.php
index a5bc5927ab90b844fe88c60d10dd2f6ee3dee011..937a865a10a346fb3bec1de12328e417fff49a9b 100644
--- a/lib/phplib/Seminar_Session.class.php
+++ b/lib/phplib/Seminar_Session.class.php
@@ -314,7 +314,7 @@ class Seminar_Session
         $this->delete();
         $this->start();
         foreach ($keep_session_vars as $k) {
-            $_SESSION[$k] = $keep[$k];
+            $_SESSION[$k] = $keep[$k] ?? null;
         }
     }
 
diff --git a/tests/functional/_bootstrap.php b/tests/functional/_bootstrap.php
index 4a71787b14144346eb4d4fcae404d0608fe6d21f..8feb13ea66ed8f5cd4dd180b63ba62ba13877c01 100644
--- a/tests/functional/_bootstrap.php
+++ b/tests/functional/_bootstrap.php
@@ -32,12 +32,16 @@ StudipAutoloader::addAutoloadPath($STUDIP_BASE_PATH . '/lib/plugins/db');
 StudipAutoloader::addAutoloadPath($STUDIP_BASE_PATH . '/lib/plugins/engine');
 
 // load config-variables
+$added_configs = [];
 StudipFileloader::load(
     'config_defaults.inc.php config_local.inc.php',
-    $GLOBALS,
+    $added_configs,
     compact('STUDIP_BASE_PATH', 'ABSOLUTE_URI_STUDIP', 'ASSETS_URL', 'CANONICAL_RELATIVE_PATH_STUDIP'),
     true
 );
+foreach($added_configs as $key => $value) {
+    $GLOBALS[$key] = $value;
+}
 require 'config/config.inc.php';
 
 // Do not send mails of any kind during tests