Index: modules/block/block.module =================================================================== RCS file: /cvs/drupal/drupal/modules/block/block.module,v retrieving revision 1.431 diff -u -p -r1.431 block.module --- modules/block/block.module 28 Sep 2010 03:30:37 -0000 1.431 +++ modules/block/block.module 28 Sep 2010 15:48:50 -0000 @@ -428,10 +428,11 @@ function _block_rehash($theme = NULL) { if (!isset($block['weight'])) { $block['weight'] = 0; } - if (!empty($block['region']) && $block['region'] != BLOCK_REGION_NONE && !isset($regions[$block['region']])) { + // Blocks which are assigned to an invalid region inside a valid theme + // (for example, if the theme no longer defines the region the block was + // previously placed in) should be disabled. + if (!empty($block['region']) && $block['region'] != BLOCK_REGION_NONE && !empty($regions) && !isset($regions[$block['region']])) { drupal_set_message(t('The block %info was assigned to the invalid region %region and has been disabled.', array('%info' => $block['info'], '%region' => $block['region'])), 'warning'); - // Disabled modules are moved into the BLOCK_REGION_NONE later so no - // need to move the bock to another region. $block['status'] = 0; } // Set region to none if not enabled and make sure status is set.