diff --git a/core/command/upgrade.php b/core/command/upgrade.php
index 6791d386b2730711b07baed6a0c0d434cbac38bc..6d87f0a989129b0e1ad4b156967a591337f0ba23 100644
--- a/core/command/upgrade.php
+++ b/core/command/upgrade.php
@@ -130,7 +130,8 @@ class Upgrade extends Command {
 				function ($success) use($output, $updateStepEnabled, $self) {
 					$mode = $updateStepEnabled ? 'Update' : 'Update simulation';
 					$status = $success ? 'successful' : 'failed' ;
-					$message = "<info>$mode $status</info>";
+					$type = $success ? 'info' : 'error';
+					$message = "<$type>$mode $status</$type>";
 					$output->writeln($message);
 				});
 			$updater->listen('\OC\Updater', 'dbUpgrade', function () use($output) {
diff --git a/lib/private/updater.php b/lib/private/updater.php
index 1b17face2e066fabf5dd8705f2491b14c4339a1a..72998c4b3d243b4ba3b97e73e0c0f0d62906de6b 100644
--- a/lib/private/updater.php
+++ b/lib/private/updater.php
@@ -200,7 +200,7 @@ class Updater extends BasicEmitter {
 
 		$this->emit('\OC\Updater', 'updateEnd', array($success));
 
-		if(!$wasMaintenanceModeEnabled) {
+		if(!$wasMaintenanceModeEnabled && $success) {
 			$this->config->setSystemValue('maintenance', false);
 			$this->emit('\OC\Updater', 'maintenanceDisabled');
 		} else {