diff --git a/lib/base.php b/lib/base.php
index 730cee5231d21a22462c4791902e397c7139d8db..d43ff0a9ce3dc6f30019193a36a5ca1490ec34d9 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -211,9 +211,11 @@ class OC {
 	public static function checkInstalled() {
 		// Redirect to installer if not installed
 		if (!OC_Config::getValue('installed', false) && OC::$SUBURI != '/index.php') {
-			if (!OC::$CLI) {
+			if (OC::$CLI) {
+				throw new Exception('Not installed');
+			} else {
 				$url = 'http://' . $_SERVER['SERVER_NAME'] . OC::$WEBROOT . '/index.php';
-				header("Location: $url");
+				header('Location: ' . $url);
 			}
 			exit();
 		}
@@ -520,10 +522,10 @@ class OC {
 
 		self::initTemplateEngine();
 		OC_App::loadApps(array('session'));
-		if (!self::$CLI) {
-			self::initSession();
-		} else {
+		if (self::$CLI) {
 			self::$session = new \OC\Session\Memory('');
+		} else {
+			self::initSession();
 		}
 		self::checkConfig();
 		self::checkInstalled();
@@ -654,8 +656,8 @@ class OC {
 		if (!OC::$CLI
 			// overwritehost is always trusted
 			&& OC_Request::getOverwriteHost() === null
-			&& !OC_Request::isTrustedDomain($host)) {
-
+			&& !OC_Request::isTrustedDomain($host)
+		) {
 			header('HTTP/1.1 400 Bad Request');
 			header('Status: 400 Bad Request');
 			OC_Template::printErrorPage(