diff --git a/modules/block/block.module b/modules/block/block.module
index f0c499e..e886c73 100644
--- a/modules/block/block.module
+++ b/modules/block/block.module
@@ -281,8 +281,9 @@ function _block_rehash($theme = NULL) {
           }
           // Add 'info' to this block.
           $old_blocks[$module][$delta]['info'] = $block['info'];
-          // If the region name does not exist, disable the block and assign it to none.
-          if (!empty($old_blocks[$module][$delta]['region']) && !isset($regions[$old_blocks[$module][$delta]['region']])) {
+          // If the region name does not exist, disable the block and assign it
+          // to none.
+          if (!empty($old_blocks[$module][$delta]['region']) && !isset($regions[$old_blocks[$module][$delta]['region']]) && $old_blocks[$module][$delta]['status'] == 1) {
             drupal_set_message(t('The block %info was assigned to the invalid region %region and has been disabled.', array('%info' => $old_blocks[$module][$delta]['info'], '%region' => $old_blocks[$module][$delta]['region'])), 'warning');
             $old_blocks[$module][$delta]['status'] = 0;
             $old_blocks[$module][$delta]['region'] = BLOCK_REGION_NONE;
