diff --git a/core/modules/block/block.api.php b/core/modules/block/block.api.php
index d33f594..e499712 100644
--- a/core/modules/block/block.api.php
+++ b/core/modules/block/block.api.php
@@ -66,14 +66,16 @@
  *     Most modules do not provide an initial value, and any value provided can
  *     be modified by a user on the block configuration screen.
  *   - 'status': (optional) Initial value for block enabled status. (1 =
- *     enabled, 0 = disabled). Most modules do not provide an initial value,
- *     and any value provided can be modified by a user on the block
- *     configuration screen.
+ *     enabled, 0 = disabled). An initial value for 'region' is required for
+ *     'status' to take effect.
+ *     Most modules do not provide an initial value, and any value provided can
+ *     be modified by a user on the block configuration screen.
  *   - 'region': (optional) Initial value for theme region within which this
- *     block is set. Most modules do not provide an initial value, and
- *     any value provided can be modified by a user on the block configuration
- *     screen. Note: If you set a region that isn't available in the currently
- *     enabled theme, the block will be disabled.
+ *     block is set. If the specified region is not available in a theme, the
+ *     block will be disabled. The initial value for 'status' must be enabled or
+ *     the initial region value is ignored.
+ *     Most modules do not provide an initial value, and any value provided can
+ *     be modified by a user on the block configuration screen.
  *   - 'visibility': (optional) Initial value for the visibility flag, which
  *     tells how to interpret the 'pages' value. Possible values are:
  *     - BLOCK_VISIBILITY_NOTLISTED: Show on all pages except listed pages.
diff --git a/core/modules/system/system.module b/core/modules/system/system.module
index 625be0a..8d11b05 100644
--- a/core/modules/system/system.module
+++ b/core/modules/system/system.module
@@ -2036,8 +2036,12 @@ function system_user_timezone(&$form, &$form_state) {
 function system_block_info() {
   $blocks['main'] = array(
     'info' => t('Main page content'),
-     // Cached elsewhere.
+    // Cached elsewhere.
     'cache' => DRUPAL_NO_CACHE,
+    // Automatically try to assign the main content to the "content" region, in
+    // case such a region exists.
+    'region' => 'content',
+    'status' => 1,
   );
   $blocks['powered-by'] = array(
     'info' => t('Powered by Drupal'),
@@ -2048,6 +2052,10 @@ function system_block_info() {
     'info' => t('System help'),
     'weight' => '5',
     'cache' => DRUPAL_NO_CACHE,
+    // Automatically try to assign the help block to the "help" region, in
+    // case such a region exists.
+    'region' => 'help',
+    'status' => 1,
   );
   // System-defined menu blocks.
   foreach (menu_list_system_menus() as $menu_name => $title) {
