Index: wp-includes/registration-functions.php
===================================================================
--- wp-includes/registration-functions.php	(revision 2981)
+++ wp-includes/registration-functions.php	(working copy)
@@ -62,6 +62,10 @@
 	update_usermeta( $user_id, 'yim', $yim );
 	update_usermeta( $user_id, 'flickr_username', $flickr_username );
 	
+	if ($update && !empty($role)) {
+		$user = new WP_User($user_id);
+		$user->set_role($role);
+	}
 	
 	if ( !$update ) {
 		$user = new WP_User($user_id);
Index: wp-admin/admin-functions.php
===================================================================
--- wp-admin/admin-functions.php	(revision 2981)
+++ wp-admin/admin-functions.php	(working copy)
@@ -276,6 +276,9 @@
 	if (isset ($_POST['pass2']))
 		$pass2 = $_POST['pass2'];
 
+	if (isset ($_POST['role'])) {
+		$user->role = $_POST['role'];
+	}
 	if (isset ($_POST['email']))
 		$user->user_email = wp_specialchars(trim($_POST['email']));
 	if (isset ($_POST['url'])) {
Index: wp-admin/profile.php
===================================================================
--- wp-admin/profile.php	(revision 2981)
+++ wp-admin/profile.php	(working copy)
@@ -30,6 +30,10 @@
 <p><label><?php _e('Username: (no editing)'); ?><br />
 <input type="text" name="user_login" value="<?php echo $profiledata->user_login; ?>" disabled="disabled" />
 </label></p>
+
+<p><label><?php _e('Role: (no editing)') ?><br />
+<input type="text" name="role" value="<?php echo $wp_roles->role_names[$profileuser->roles[0]] ?>" disabled="disabled" /></label></p>
+
 <p><label><?php _e('First name:') ?><br />
 <input type="text" name="first_name" value="<?php echo $profiledata->first_name ?>" /></label></p>
 
Index: wp-admin/user-edit.php
===================================================================
--- wp-admin/user-edit.php	(revision 2981)
+++ wp-admin/user-edit.php	(working copy)
@@ -82,6 +82,18 @@
 <p><label><?php _e('Username: (no editing)'); ?><br />
 <input type="text" name="user_login" value="<?php echo $profiledata->user_login; ?>" disabled="disabled" />
 </label></p>
+
+<p><label><?php _e('Role:') ?><br />
+<?php
+// print_r($profileuser);
+echo '<select name="role">';
+foreach($wp_roles->role_names as $role => $name) {
+	$selected = ($profileuser->roles[0] == $role) ? ' selected="selected"' : '';
+	echo "<option value=\"{$role}\"{$selected}>{$name}</option>";
+}
+echo '</select>';
+?></label></p>
+
 <p><label><?php _e('First name:') ?><br />
 <input type="text" name="first_name" value="<?php echo $profiledata->first_name ?>" /></label></p>
 

