diff --git a/lib/base.php b/lib/base.php
index 86ee534982859dcc67d6eb5d87ef42cda1e5c776..5f15189b11817e87d61009e50461d256dd089c7d 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -536,6 +536,7 @@ class OC {
 					echo $error['hint'] . "\n\n";
 				}
 			} else {
+				OC_Response::setStatus(OC_Response::STATUS_SERVICE_UNAVAILABLE);
 				OC_Template::printGuestPage('', 'error', array('errors' => $errors));
 			}
 			exit;
diff --git a/lib/private/response.php b/lib/private/response.php
index 71c538fb31137bc1eb306eab9c63eb3a333a4f20..983c682bf3fb9a85d991c8fc83645fd28f02ae56 100644
--- a/lib/private/response.php
+++ b/lib/private/response.php
@@ -12,6 +12,7 @@ class OC_Response {
 	const STATUS_TEMPORARY_REDIRECT = 307;
 	const STATUS_NOT_FOUND = 404;
 	const STATUS_INTERNAL_SERVER_ERROR = 500;
+	const STATUS_SERVICE_UNAVAILABLE = 503;
 
 	/**
 	* @brief Enable response caching by sending correct HTTP headers
@@ -74,6 +75,9 @@ class OC_Response {
 			case self::STATUS_INTERNAL_SERVER_ERROR;
 				$status = $status . ' Internal Server Error';
 				break;
+			case self::STATUS_SERVICE_UNAVAILABLE;
+				$status = $status . ' Service Unavailable';
+				break;
 		}
 		header($protocol.' '.$status);
 	}