Index: includes/theme.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/theme.inc,v
retrieving revision 1.283
diff -u -F^f -r1.283 theme.inc
--- includes/theme.inc	5 Feb 2006 19:08:11 -0000	1.283
+++ includes/theme.inc	7 Mar 2006 09:43:13 -0000
@@ -53,7 +53,7 @@ function init_theme() {
 
   // If we're using a style, load its appropriate theme,
   // which is stored in the style's description field.
-  // Also load the stylesheet using drupal_set_html_head().
+  // Also load the stylesheet using theme_add_style().
   // Otherwise, load the theme.
   if (strpos($themes[$theme]->filename, '.css')) {
     // File is a style; loads its CSS.
@@ -70,12 +70,12 @@ function init_theme() {
   }
 
   if (strpos($themes[$theme]->filename, '.theme')) {
-    // file is a theme; include it
+   // file is a theme; include it
    include_once './' . $themes[$theme]->filename;
   }
   elseif (strpos($themes[$theme]->description, '.engine')) {
     // file is a template; include its engine
-   include_once './' . $themes[$theme]->description;
+    include_once './' . $themes[$theme]->description;
     $theme_engine = basename($themes[$theme]->description, '.engine');
     if (function_exists($theme_engine .'_init')) {
       call_user_func($theme_engine .'_init', $themes[$theme]);
Index: modules/system.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/system.module,v
retrieving revision 1.297
diff -u -F^f -r1.297 system.module
--- modules/system.module	4 Mar 2006 17:49:21 -0000	1.297
+++ modules/system.module	7 Mar 2006 09:43:13 -0000
@@ -173,27 +173,22 @@ function system_user($type, $edit, &$use
       if (count($themes) > 1) {
         ksort($themes);
 
-        // Reset to follow site default theme if user selects the site default
-        if ($key == variable_get('theme_default', 'bluemarine')) {
-          $key = '';
-          if ($edit['theme'] == variable_get('theme_default', 'bluemarine')) {
-            $edit['theme'] = '';
-          }
-        }
-
         $form['themes'] = array(
           '#type' => 'fieldset', '#title' => t('Theme configuration'), '#description' => t('Selecting a different theme will change the look and feel of the site.'), '#weight' => 2, '#collapsible' => TRUE, '#theme' => 'system_user');
 
         foreach ($themes as $info) {
+          // For the default theme, revert to an empty string so the user's theme updates when the site theme is changed.
+          $info->key = $info->name == variable_get('theme_default', 'bluemarine') ? '' : $info->name;
+
           $info->screenshot = dirname($info->filename) . '/screenshot.png';
           $screenshot = file_exists($info->screenshot) ? theme('image', $info->screenshot, t('Screenshot for %theme theme', array('%theme' => $info->name)), '', array('class' => 'screenshot'), false) : t('no screenshot');
 
-         $form['themes'][$info->name]['screenshot'] = array('#type' => 'markup', '#value' => $screenshot);
-          $form['themes'][$info->name]['description'] = array('#type' => 'item', '#title' => $info->name,  '#value' => dirname($info->filename));
-          $options[$info->name] = '';
+          $form['themes'][$info->key]['screenshot'] = array('#type' => 'markup', '#value' => $screenshot);
+          $form['themes'][$info->key]['description'] = array('#type' => 'item', '#title' => $info->name,  '#value' => dirname($info->filename) . ($info->name == variable_get('theme_default', 'bluemarine') ? t('<br /> <em>(site default theme)</em>') : ''));
+          $options[$info->key] = '';
         }
 
-        $form['themes']['theme'] = array('#type' => 'radios', '#options' => $options, '#default_value' => $edit['theme'] ? $edit['theme'] : variable_get('theme_default', 'bluemarine'));
+        $form['themes']['theme'] = array('#type' => 'radios', '#options' => $options, '#default_value' => $edit['theme'] ? $edit['theme'] : '');
       }
     }
 
Index: themes/chameleon/chameleon.theme
===================================================================
RCS file: /cvs/drupal/drupal/themes/chameleon/chameleon.theme,v
retrieving revision 1.41
diff -u -F^f -r1.41 chameleon.theme
--- themes/chameleon/chameleon.theme	2 Feb 2006 12:44:57 -0000	1.41
+++ themes/chameleon/chameleon.theme	7 Mar 2006 09:43:13 -0000
@@ -35,7 +35,7 @@ function chameleon_page($content) {
   $output .= "<head>\n";
   $output .= " <title>". ($title ? strip_tags($title) ." | ". variable_get("site_name", "drupal") : variable_get("site_name", "drupal") ." | ". variable_get("site_slogan", "")) ."</title>\n";
   $output .= drupal_get_html_head();
-  theme('add_style', 'themes/chameleon/common.css');
+  $output .= theme('stylesheet_import', base_path() . path_to_theme() ."/common.css");
   $output .= theme_get_styles();
   $output .= "</head>";
   $output .= "<body>\n";
