diff --git a/core/modules/block/block.module b/core/modules/block/block.module
index 50bae76..3566534 100644
--- a/core/modules/block/block.module
+++ b/core/modules/block/block.module
@@ -314,6 +314,15 @@ function block_page_build(&$page) {
       );
     }
   }
+
+  // With the block module, it's possible to disable the main content block.
+  // By default, Drupal gets mad at us if we do that to protect users from
+  // completely locking themselves out of the site by disabling page-managing
+  // modules, but since this is a page-manging module, we're in charge of the
+  // main content, not system module.
+  $system_main_content_added = &drupal_static('system_main_content_added');
+  $system_main_content_added = TRUE;
+
 }
 
 /**
diff --git a/core/modules/block/lib/Drupal/block/Tests/ContentBlockTest.php b/core/modules/block/lib/Drupal/block/Tests/ContentBlockTest.php
new file mode 100644
index 0000000..14290fb
--- /dev/null
+++ b/core/modules/block/lib/Drupal/block/Tests/ContentBlockTest.php
@@ -0,0 +1,69 @@
+<?php
+
+/**
+ * @file
+ * Definition of Drupal\block\Tests\ContentBlockTest.
+ */
+
+namespace Drupal\block\Tests;
+
+use Drupal\simpletest\WebTestBase;
+
+/**
+ * Tests content block visibilty settings.
+ */
+class ContentBlockTest extends WebTestBase {
+  protected $admin_user;
+
+  public static function getInfo() {
+    return array(
+      'name' => 'Content Block functionality',
+      'description' => '"Content" block should hide on particular pages.',
+      'group' => 'Block',
+    );
+  }
+
+  function setUp() {
+    parent::setUp();
+
+    // Create and log in an administrative user having access to the Full HTML
+    // text format.
+    $this->admin_user = $this->drupalCreateUser(array(
+      'administer blocks',
+      'access administration pages',
+      'create page content',
+    ));
+    $this->drupalLogin($this->admin_user);
+  }
+
+  /**
+   * Test content block visibility.
+   */
+  function testContentBlockVisibility() {
+    $body = $this->randomName(12);
+
+    // Create 2 nodes with similar body text.
+    $settings = array(
+      'type' => 'page',
+      'body' => array(LANGUAGE_NOT_SPECIFIED => array(array('value' => $body))),
+    );
+    $node = $this->drupalCreateNode($settings);
+    $nid1 = $node->nid;
+
+    $node = $this->drupalCreateNode($settings);
+    $nid2 = $node->nid;
+
+    // Set the block to be hidden on the first node path that we just created.
+    $edit = array();
+    $edit['pages'] = 'node/' . $nid1;
+    $this->drupalPost('admin/structure/block/manage/system/main/configure', $edit, t('Save block'));
+
+    // Check that the body text is properly hiding.
+    $this->drupalGet('node/' . $nid1);
+    $this->assertNoText($body, 'Content block is properly hiding.');
+    // Check that the body text is properly displaying.
+    $this->drupalGet('node/' . $nid2);
+    $this->assertText($body, 'Content block is properly displaying.');
+  }
+
+}
