diff -urp --strip-trailing-cr ../drupal-5.5/modules/system/system.module ./modules/system/system.module
--- ../drupal-5.5/modules/system/system.module	2007-12-06 21:23:24.000000000 +0100
+++ ./modules/system/system.module	2007-12-10 22:48:29.000000000 +0100
@@ -1088,14 +1088,14 @@ function system_theme_settings_submit($f
   $op = isset($_POST['op']) ? $_POST['op'] : '';
   $key = $form_values['var'];
 
-  // Exclude unnecessary elements.
-  unset($form_values['var'], $form_values['submit'], $form_values['reset'], $form_values['form_id']);
-
   if ($op == t('Reset to defaults')) {
     variable_del($key);
     drupal_set_message(t('The configuration options have been reset to their default values.'));
   }
   else {
+    // Exclude unnecessary elements.
+    unset($form_values['var'], $form_values['submit'], $form_values['reset'], $form_values['form_id'], $form_values['form_token'], $form_values['op']);
+
     variable_set($key, $form_values);
     drupal_set_message(t('The configuration options have been saved.'));
   }
@@ -2071,19 +2071,12 @@ function system_theme_settings($key = ''
       '#description' => t("If you don't have direct file access to the server, use this field to upload your shortcut icon.")
     );
   }
-
   if ($key) {
     // Template-specific settings
+    init_theme();
     $function = $themes[$key]->prefix .'_settings';
     if (function_exists($function)) {
-      if ($themes[$key]->template) {
-        // file is a template or a style of a template
-        $form['specific'] = array('#type' => 'fieldset', '#title' => t('Engine-specific settings'), '#description' => t('These settings only exist for all the templates and styles based on the %engine theme engine.', array('%engine' => $themes[$key]->prefix)));
-      }
-      else {
-        // file is a theme or a style of a theme
-        $form['specific'] = array('#type' => 'fieldset', '#title' => t('Theme-specific settings'), '#description' => t('These settings only exist for the %theme theme and all the styles based on it.', array('%theme' => $themes[$key]->prefix)));
-      }
+      $form['specific'] = array('#type' => 'fieldset', '#title' => t('Theme-specific settings'), '#description' => t('These settings only exist for the %theme theme and all the styles based on it.', array('%theme' => $themes[$key]->name)));
       $group = $function();
       $form['specific'] = array_merge($form['specific'], (is_array($group) ? $group : array()));
     }
