diff --git a/core/modules/block/block.module b/core/modules/block/block.module
index 0b6ca26..a973f8f 100644
--- a/core/modules/block/block.module
+++ b/core/modules/block/block.module
@@ -126,8 +126,13 @@ function block_theme_initialize($theme) {
       // If the region isn't supported by the theme, assign the block to the
       // theme's default region.
       if (!isset($regions[$block->getRegion()])) {
+        $info = system_get_info('theme', $theme);
+        if (isset($info['block_default_region'])) {
+        $block->setRegion($info['block_default_region']);
+        }
+        else {
         $block->setRegion(system_default_region($theme));
-      }
+        }
       $block->save();
     }
   }
