diff --git a/mongodb_cache/mongodb_cache_module.php b/mongodb_cache/mongodb_cache_module.php
index 1f2774e..4064b43 100644
--- a/mongodb_cache/mongodb_cache_module.php
+++ b/mongodb_cache/mongodb_cache_module.php
@@ -4,10 +4,23 @@
  * @file
  * The MongoDB cache module.
  *
- * This module is only needed to ensure system_cron triggers expires on cache
- * bins not declared by their owner modules in hook_flush_caches().
+ * This module only needed :
+ * - to ensure system_cron triggers expires on cache bins not declared by their
+ *   owner modules in hook_flush_caches().
+ * - to ensure a 503 status on exceptions
  */
 
+use Drupal\mongodb_cache\Cache;
+
+/**
+ * Implements hook_exit().
+ */
+function mongodb_cache_exit() {
+  if (Cache::hasException()) {
+    drupal_add_http_header('Status', '503 Service Unavailable');
+  }
+}
+
 /**
  * Implements hook_flush_caches().
  *
diff --git a/mongodb_cache/mongodb_cache_plugin.php b/mongodb_cache/mongodb_cache_plugin.php
index 2808c4a..5e7cc4c 100644
--- a/mongodb_cache/mongodb_cache_plugin.php
+++ b/mongodb_cache/mongodb_cache_plugin.php
@@ -47,6 +47,7 @@ class Cache implements \DrupalCacheInterface {
    * @var bool
    *
    * @see \Drupal\mongodb_cache\Cache::notifyException()
+   * @see \Drupal\mongodb_cache\Cache::hasException()
    *
    * This is a static, because the plugin assumes that connection errors will be
    * share between all bins, under the hypothesis that all bins will be using
@@ -420,6 +421,18 @@ class Cache implements \DrupalCacheInterface {
   }
 
   /**
+   * Has the plugin thrown an exception at any point ?
+   *
+   * @retun bool
+   *   Has it ?
+   *
+   * @see mongodb_cache_exit()
+   */
+  public static function hasException() {
+    return static::$isExceptionNotified;
+  }
+
+  /**
    * {@inheritdoc}
    */
   public function isEmpty() {
