diff --git a/lib/sessionlib.php b/lib/sessionlib.php index 2fb6f32dadd..80525173786 100644 --- a/lib/sessionlib.php +++ b/lib/sessionlib.php @@ -41,13 +41,13 @@ function session_get_instance() { static $session = null; - if (!defined('NO_MOODLE_COOKIES')) { - // Moodle session was not initialised yet in lib/setup.php. - $session = new emergency_session(); - return $session; - } - if (is_null($session)) { + if (!defined('NO_MOODLE_COOKIES') or empty($DB)) { + // Moodle was not initialised properly in lib/setup.php. + $session = new emergency_session(); + return $session; + } + if (empty($CFG->sessiontimeout)) { $CFG->sessiontimeout = 7200; }