Index: wp-includes/registration.php
===================================================================
--- wp-includes/registration.php	(revision 7245)
+++ wp-includes/registration.php	(working copy)
@@ -154,6 +154,10 @@
 	if ( empty($rich_editing) )
 		$rich_editing = 'true';
 
+	if ( empty($admin_color) )
+		$admin_color = 'classic';
+	$admin_color = preg_replace('|[^a-z0-9 _.\-@]|i', '', $admin_color);
+
 	if ( empty($user_registered) )
 		$user_registered = gmdate('Y-m-d H:i:s');
 
@@ -176,6 +180,7 @@
 	update_usermeta( $user_id, 'aim', $aim );
 	update_usermeta( $user_id, 'yim', $yim );
 	update_usermeta( $user_id, 'rich_editing', $rich_editing);
+	update_usermeta( $user_id, 'admin_color', $admin_color);
 
 	if ( $update && isset($role) ) {
 		$user = new WP_User($user_id);
Index: wp-includes/general-template.php
===================================================================
--- wp-includes/general-template.php	(revision 7245)
+++ wp-includes/general-template.php	(working copy)
@@ -1100,17 +1100,40 @@
 	return $r;
 }
 
+function wp_admin_css_color($key, $name, $url, $rtl_url = '') {
+	global $_wp_admin_css_colors;
+
+	if ( !isset($_wp_admin_css_colors) )
+		$_wp_admin_css_colors = array();
+
+	$_wp_admin_css_colors[$key] = (object) array('name' => $name, 'url' => $url, 'rtl_url' => $rtl_url);
+}
+
 function wp_admin_css_uri( $file = 'wp-admin' ) {
-	if ( defined('WP_INSTALLING') )
-	{
-		$_file = add_query_arg( 'version', get_bloginfo( 'version' ), "./$file.css" );
+	if ( defined('WP_INSTALLING') ) {
+		$_file = "./$file.css";
 	} else {
-		$_file = add_query_arg( 'version', get_bloginfo( 'version' ), get_option( 'siteurl' ) . "/wp-admin/$file.css" );
+		if ( 'css/colors' == $file || 'css/colors-rtl' == $file ) {
+			$color = get_user_option('admin_color');
+			if ( empty($color) )
+				$color = 'classic';
+			global $_wp_admin_css_colors;
+			$color = $_wp_admin_css_colors[$color];
+			if  ( 'css/colors-rtl' == $file )
+				$_file = $color->rtl_url;
+			else
+				$_file = $color->url;
+		} else {
+			$_file = get_option( 'siteurl' ) . "/wp-admin/$file.css";
+		}
 	}
+	$_file = add_query_arg( 'version', get_bloginfo( 'version' ),  $_file );
+
 	return apply_filters( 'wp_admin_css_uri', $_file, $file );
 }
 
 function wp_admin_css( $file = 'wp-admin' ) {
+	
 	echo apply_filters( 'wp_admin_css', "<link rel='stylesheet' href='" . wp_admin_css_uri( $file ) . "' type='text/css' />\n", $file );
 	if ( 'rtl' == get_bloginfo( 'text_direction' ) ) {
 		$rtl = ( 'wp-admin' == $file ) ? 'rtl' : "$file-rtl";
Index: wp-admin/includes/user.php
===================================================================
--- wp-admin/includes/user.php	(revision 7245)
+++ wp-admin/includes/user.php	(working copy)
@@ -73,6 +73,13 @@
 	else
 		$user->rich_editing = 'false';
 
+	if ( !$update )
+		$user->admin_color = 'classic';  // Default to classic for new users.
+	else if ( isset( $_POST['admin_color'] ) )
+		$user->admin_color = $_POST['admin_color'];
+	else
+		$user->admin_color = 'classic';
+
 	$errors = new WP_Error();
 
 	/* checking that username has been typed */
Index: wp-admin/admin-header.php
===================================================================
--- wp-admin/admin-header.php	(revision 7245)
+++ wp-admin/admin-header.php	(working copy)
@@ -28,9 +28,11 @@
 <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php echo get_option('blog_charset'); ?>" />
 <title><?php bloginfo('name') ?> &rsaquo; <?php echo wp_specialchars( strip_tags( $title ) ); ?> &#8212; WordPress</title>
 <?php
+wp_admin_css_color('classic', __('Classic'), get_option( 'siteurl' ) . "/wp-admin/css/colors-classic.css");
+wp_admin_css_color('fresh', __('Fresh'), get_option( 'siteurl' ) . "/wp-admin/css/colors-fresh.css");
 wp_admin_css( 'css/global' );
 wp_admin_css();
-wp_admin_css( 'css/colors-classic' );
+wp_admin_css( 'css/colors' );
 ?>
 <!--[if gte IE 6]>
 <?php wp_admin_css( 'css/ie' );
Index: wp-admin/user-edit.php
===================================================================
--- wp-admin/user-edit.php	(revision 7245)
+++ wp-admin/user-edit.php	(working copy)
@@ -146,21 +146,35 @@
 
 <h3><?php _e('Personal Options'); ?></h3>
 
+<table class="form-table">
 <?php if ( rich_edit_exists() ) : // don't bother showing the option if the editor has been removed ?>
-<table class="form-table">
 	<tr>
-		<td colspan="2"><label for="rich_editing"><input name="rich_editing" type="checkbox" id="rich_editing" value="true" <?php checked('true', $profileuser->rich_editing); ?> /> <?php _e('Use the visual editor when writing'); ?></label></td>
+		<th scope="row"><?php _e('Visual Editor')?></th>
+		<td><label for="rich_editing"><input name="rich_editing" type="checkbox" id="rich_editing" value="true" <?php checked('true', $profileuser->rich_editing); ?> /> <?php _e('Use the visual editor when writing'); ?></label></td>
 	</tr>
+<?php endif; ?>
+<tr>
+<th scope="row"><?php _e('Admin Color Scheme')?></th>
+<td>
+<?php
+foreach ( $_wp_admin_css_colors as $color => $color_info ): ?>
+<p><label>
+<input name="admin_color" type="radio" value="<?php echo $color ?>" class="tog" <?php checked($color, get_user_option('admin_color')); ?> />
+<?php echo $color_info->name ?>
+</label>
+</p>
+<?php endforeach; ?>
+</td>
 </table>
-<?php endif; ?>
 
+
 <?php
 	if ( $is_profile_page ) {
 		do_action('profile_personal_options');
 	}
 ?>
 
-<h3>Name</h3>
+<h3><?php _e('Name') ?></h3>
 
 <table class="form-table">
 	<tr>
@@ -232,7 +246,7 @@
 </tr>
 </table>
 
-<h3>Contact Info</h3>
+<h3><?php _e('Contact Info') ?></h3>
 
 <table class="form-table">
 <tr>

