diff --git a/core/templates/login.php b/core/templates/login.php
index 2198f063dbcc6820e3916d2fa9ec6a76e0796b92..f10a81021801cd5ecee6d4c9b10826dc1c420ca0 100644
--- a/core/templates/login.php
+++ b/core/templates/login.php
@@ -19,6 +19,11 @@ script('core', [
 				<small><?php p($l->t('Please contact your administrator.')); ?></small>
 			</div>
 		<?php endif; ?>
+		<?php foreach($_['messages'] as $message): ?>
+			<div class="warning">
+				<?php p($message); ?><br>
+			</div>
+		<?php endforeach; ?>
 		<p id="message" class="hidden">
 			<img class="float-spinner" alt=""
 				src="<?php p(\OCP\Util::imagePath('core', 'loading-dark.gif'));?>" />
diff --git a/lib/private/util.php b/lib/private/util.php
index ec3640503e4ab1d11ef9eac6194eb093e924062d..6b431bb1b69ec659109be242df5cc1f1026bfaca 100644
--- a/lib/private/util.php
+++ b/lib/private/util.php
@@ -778,12 +778,14 @@ class OC_Util {
 
 	/**
 	 * @param array $errors
+	 * @param string[] $messages
 	 */
-	public static function displayLoginPage($errors = array()) {
+	public static function displayLoginPage($errors = array(), $messages = []) {
 		$parameters = array();
 		foreach ($errors as $value) {
 			$parameters[$value] = true;
 		}
+		$parameters['messages'] = $messages;
 		if (!empty($_REQUEST['user'])) {
 			$parameters["username"] = $_REQUEST['user'];
 			$parameters['user_autofocus'] = false;