diff --git includes/module.inc includes/module.inc index 40396b1..a4ba61f 100644 --- includes/module.inc +++ includes/module.inc @@ -927,6 +927,13 @@ function drupal_alter($type, &$data, &$context1 = NULL, &$context2 = NULL) { // initialized. global $theme, $base_theme_info; if (isset($theme)) { + // Do not run THEME_form_system_theme_settings_alter as we've already + // called it in system_theme_settings to generate the form and calling + // it again would incorrectly populate the form with the admin theme + // values. + if (isset($extra_types)) { + $extra_types = array_diff($extra_types, array('form_system_theme_settings')); + } $theme_keys = array(); foreach ($base_theme_info as $base) { $theme_keys[] = $base->name;