Index: modules/block/block.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/block/block.module,v
retrieving revision 1.361
diff -u -p -r1.361 block.module
--- modules/block/block.module	22 Aug 2009 13:25:37 -0000	1.361
+++ modules/block/block.module	22 Aug 2009 16:35:33 -0000
@@ -173,11 +173,10 @@ function block_menu() {
 }
 
 /**
- * Menu item access callback - only admin or enabled themes can be accessed.
+ * Menu item access callback - only enabled themes can be accessed.
  */
 function _block_themes_access($theme) {
-  $admin_theme = variable_get('admin_theme');
-  return user_access('administer blocks') && ($theme->status || ($admin_theme && ($theme->name == $admin_theme)));
+  return user_access('administer blocks') && $theme->status;
 }
 
 /**
Index: modules/block/block.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/block/block.test,v
retrieving revision 1.25
diff -u -p -r1.25 block.test
--- modules/block/block.test	3 Aug 2009 03:04:33 -0000	1.25
+++ modules/block/block.test	22 Aug 2009 17:32:27 -0000
@@ -268,33 +268,27 @@ class NewDefaultThemeBlocks extends Drup
 }
 
 /**
- * Test the block system with admin themes.
+ * Test the block system with disabled themes.
  */
-class BlockAdminThemeTestCase extends DrupalWebTestCase {
+class DisabledBlockAdmin extends DrupalWebTestCase {
   public static function getInfo() {
     return array(
-      'name' => 'Admin theme block admin accessibility',
-      'description' => "Check whether the block administer page for a disabled theme acccessible if and only if it's the admin theme.",
+      'name' => 'Disabled theme admin',
+      'description' => "Check the administer page for disabled theme.",
       'group' => 'Block',
     );
   }
-  
+
   /**
-   * Check for the accessibility of the admin theme on the  block admin page.
+   * Check the block admin page accessibility for a disabled theme.
    */
-  function testAdminTheme() {
+  function testDisabledBlockAdmin() {
     // Create administrative user.
     $admin_user = $this->drupalCreateUser(array('administer blocks', 'administer site configuration'));
     $this->drupalLogin($admin_user);
 
     // Ensure that access to block admin page is denied when theme is disabled.
     $this->drupalGet('admin/structure/block/list/stark');
-    $this->assertResponse(403, t('The block admin page for a disabled theme can not be accessed'));
-
-    // Enable admin theme and confirm that tab is accessible.
-    $edit['admin_theme'] = 'stark';
-    $this->drupalPost('admin/appearance', $edit, t('Save configuration'));
-    $this->drupalGet('admin/structure/block/list/stark');
-    $this->assertResponse(200, t('The block admin page for the admin theme can be accessed'));
+    $this->assertResponse(403, t('The block admin page for a disabled theme can not be accessed.'));
   }
 }
Index: modules/system/system.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.admin.inc,v
retrieving revision 1.186
diff -u -p -r1.186 system.admin.inc
--- modules/system/system.admin.inc	22 Aug 2009 16:01:10 -0000	1.186
+++ modules/system/system.admin.inc	22 Aug 2009 17:41:11 -0000
@@ -232,7 +232,7 @@ function system_themes_form() {
     );
     $options[$theme->name] = $theme->info['name'];
 
-    if (!empty($theme->status) || $theme->name == variable_get('admin_theme', 0)) {
+    if (!empty($theme->status)) {
       $form[$theme->name]['operations'] = array('#markup' => l(t('configure'), 'admin/appearance/settings/' . $theme->name) );
     }
     else {
@@ -317,8 +317,9 @@ function system_themes_form_submit($form
   if ($form_state['values']['op'] == t('Save configuration')) {
     if (is_array($form_state['values']['status'])) {
       foreach ($form_state['values']['status'] as $key => $choice) {
-        // Always enable the default theme, despite its status checkbox being checked:
-        if ($choice || $form_state['values']['theme_default'] == $key) {
+        // Always enable the default theme and the admin theme, despite its
+        // status checkbox being checked.
+        if ($choice || $form_state['values']['theme_default'] == $key || $form_state['values']['admin_theme'] == $key) {
           $new_theme_list[] = $key;
           db_update('system')
             ->fields(array('status' => 1))
@@ -328,13 +329,6 @@ function system_themes_form_submit($form
         }
       }
     }
-    if ($form_state['values']['admin_theme'] && $form_state['values']['admin_theme'] != $form_state['values']['theme_default']) {
-      drupal_set_message(t('Please note that the <a href="!admin_theme_page">administration theme</a> is still set to the %admin_theme theme; consequently, the theme on this page remains unchanged. All non-administrative sections of the site, however, will show the selected %selected_theme theme by default.', array(
-        '!admin_theme_page' => url('admin/settings/admin'),
-        '%admin_theme' => $form_state['values']['admin_theme'],
-        '%selected_theme' => $form_state['values']['theme_default'],
-      )));
-    }
 
     // Save the variables.
     variable_set('theme_default', $form_state['values']['theme_default']);
Index: modules/system/system.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.module,v
retrieving revision 1.761
diff -u -p -r1.761 system.module
--- modules/system/system.module	22 Aug 2009 16:01:10 -0000	1.761
+++ modules/system/system.module	22 Aug 2009 16:35:33 -0000
@@ -1231,10 +1231,10 @@ function blocked_ip_load($iid) {
 }
 
 /**
- * Menu item access callback - only admin or enabled themes can be accessed.
+ * Menu item access callback - only enabled themes can be accessed.
  */
 function _system_themes_access($theme) {
-  return user_access('administer site configuration') && ($theme->status || $theme->name == variable_get('admin_theme', 0));
+  return user_access('administer site configuration') && $theme->status;
 }
 
 /**
