diff --git a/lib/base.php b/lib/base.php
index f1a60a177397c6a1b6ca4c68bd5a6ac00bb73c17..81a5a615de4827a1c3f0a92a91ebc5cfa1810b11 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -422,8 +422,6 @@ class OC
 		self::checkSSL();
 		self::initSession();
 		self::initTemplateEngine();
-		self::checkMaintenanceMode();
-		self::checkUpgrade();
 
 		$errors = OC_Util::checkServer();
 		if (count($errors) > 0) {
@@ -563,10 +561,13 @@ class OC
 			return;
 		}
 
+		// Check if ownCloud is installed or in maintenance (update) mode
 		if (!OC_Config::getValue('installed', false)) {
 			require_once 'core/setup.php';
 			exit();
 		}
+		self::checkMaintenanceMode();
+		self::checkUpgrade();
 		
 		// Handle redirect URL for logged in users
 		if (isset($_REQUEST['redirect_url']) && OC_User::isLoggedIn()) {