diff --git a/core/modules/filter/src/Element/ProcessedText.php b/core/modules/filter/src/Element/ProcessedText.php
index 750a6fc..767976a 100644
--- a/core/modules/filter/src/Element/ProcessedText.php
+++ b/core/modules/filter/src/Element/ProcessedText.php
@@ -80,7 +80,7 @@ public static function preRenderText($element) {
     }
     // If the requested text format does not exist, the text cannot be filtered.
     /** @var \Drupal\filter\Entity\FilterFormat $format **/
-    if (!$format = FilterFormat::load($format_id)) {
+    if (!($format = FilterFormat::load($format_id)) || !$format->get('status')) {
       static::logger('filter')->alert('Missing text format: %format.', array('%format' => $format_id));
       $element['#markup'] = '';
       return $element;
diff --git a/core/modules/filter/src/Tests/FilterAdminTest.php b/core/modules/filter/src/Tests/FilterAdminTest.php
index 573bf34..3796f42 100644
--- a/core/modules/filter/src/Tests/FilterAdminTest.php
+++ b/core/modules/filter/src/Tests/FilterAdminTest.php
@@ -9,6 +9,9 @@
 
 use Drupal\Component\Utility\Html;
 use Drupal\Component\Utility\Unicode;
+use Drupal\filter\Entity\FilterFormat;
+use Drupal\node\Entity\Node;
+use Drupal\node\Entity\NodeType;
 use Drupal\simpletest\WebTestBase;
 use Drupal\user\RoleInterface;
 
@@ -22,7 +25,7 @@ class FilterAdminTest extends WebTestBase {
   /**
    * {@inheritdoc}
    */
-  public static $modules = array('filter', 'node');
+  public static $modules = ['filter', 'node', 'filter_test_plugin'];
 
   /**
    * An user with administration permissions.
@@ -386,4 +389,54 @@ function testFilterTipHtmlEscape() {
     $this->assertRaw('<td class="get">' . $ampersand . '</td>');
   }
 
+  /**
+   * Tests whether a field having a disabled format is rendered.
+   */
+  public function testDisabledFormat() {
+    // We test the interface as anonymous user.
+    $this->drupalLogout();
+
+    // Create a node type and add a standard body field.
+    $node_type = NodeType::create(['type' => Unicode::strtolower($this->randomMachineName())]);
+    $node_type->save();
+    node_add_body_field($node_type, $this->randomString());
+
+    // Create a new format and add a filter that replaces the text with a static
+    // text every time.
+    /** @var \Drupal\filter\FilterFormatInterface $format */
+    $format = FilterFormat::create([
+      'name' => $this->randomString(),
+      'format' => $format_id = Unicode::strtolower($this->randomMachineName()),
+    ]);
+    $format->save();
+    $format->setFilterConfig('filter_static_text', ['status' => TRUE]);
+    $format->save();
+
+    // Create a new of the new node type.
+    $node = Node::create([
+      'type' => $node_type->id(),
+      'title' => $this->randomString(),
+    ]);
+    $body_value = 'body text &<';
+    $node->body->value = $body_value;
+    $node->body->format = $format_id;
+    $node->save();
+
+    // The format is used and we should see the static text instead of the body
+    // value.
+    $this->drupalGet('node/' . $node->id());
+    $this->assertText('filtered text');
+
+    // Disable the format.
+    $format->disable()->save();
+
+    $this->drupalGet('node/' . $node->id());
+
+    // The format is not used anymore.
+    $this->assertNoText('filtered text');
+    // The text is not displayed unfiltered or escaped.
+    $this->assertNoRaw($body_value);
+    $this->assertNoEscaped($body_value);
+  }
+
 }
diff --git a/core/modules/filter/tests/filter_test_plugin/src/Plugin/Filter/FilterStatic.php b/core/modules/filter/tests/filter_test_plugin/src/Plugin/Filter/FilterStatic.php
new file mode 100644
index 0000000..1639d26
--- /dev/null
+++ b/core/modules/filter/tests/filter_test_plugin/src/Plugin/Filter/FilterStatic.php
@@ -0,0 +1,33 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\filter_test_plugin\Plugin\Filter\FilterStatic.
+ */
+
+namespace Drupal\filter_test_plugin\Plugin\Filter;
+
+use Drupal\filter\FilterProcessResult;
+use Drupal\filter\Plugin\FilterBase;
+
+/**
+ * Provides a filter that returns the same static text, regardless of what input
+ * text he receives.
+ *
+ * @Filter(
+ *   id = "filter_static_text",
+ *   title = @Translation("Static filter"),
+ *   type = Drupal\filter\Plugin\FilterInterface::TYPE_HTML_RESTRICTOR,
+ *   settings = {},
+ * )
+ */
+class FilterStatic extends FilterBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function process($text, $langcode) {
+    return new FilterProcessResult('filtered text');
+  }
+
+}
