Index: wp-admin/js/user-profile.dev.js
===================================================================
--- wp-admin/js/user-profile.dev.js	(revision 17565)
+++ wp-admin/js/user-profile.dev.js	(working copy)
@@ -28,38 +28,25 @@
 				$('#pass-strength-result').addClass('short').html( pwsL10n['short'] );
 		}
 	}
-
-	$(document).ready( function() {
+	
+	$(document).ready(function() {
 		$('#pass1').val('').keyup( check_pass_strength );
 		$('#pass2').val('').keyup( check_pass_strength );
 		$('#pass-strength-result').show();
 		$('.color-palette').click(function(){$(this).siblings('input[name=admin_color]').attr('checked', 'checked')});
-		$('#nickname').blur(function(){
-			var str = $(this).val() || $('#user_login').val();
+		$('#first_name, #last_name, #nickname').blur(function(){
 			var select = $('#display_name');
-			var sel = select.children('option:selected').attr('id');
-			select.children('#display_nickname').remove();
-			if ( ! select.children('option[value=' + str + ']').length )
-				select.append('<option id="display_nickname" value="' + str + '">' + str + '</option>');
-			$('#'+sel).attr('selected', 'selected');
+			var first = $('#first_name').val(), last = $('#last_name').val(), nickname = $('#nickname').val();
+			var inputs = [first, last, nickname];
+			if ( first && last )
+				inputs.push(first + ' ' + last, last + ' ' + first);
+			var inputs = jQuery.unique(inputs).reverse();
+			$(select).children('option[id!="display_username"]').remove();
+			$.each(inputs, function( index, value ) {
+				if ( inputs[index].length )
+					select.append('<option value="' + value + '">' + value + '</option>');
+			});
 		});
-		$('#first_name, #last_name').blur(function(){
-			var select = $('#display_name');
-			var first = $('#first_name').val(), last = $('#last_name').val();
-			var sel = select.children('option:selected').attr('id');
-			$('#display_firstname, #display_lastname, #display_firstlast, #display_lastfirst').remove();
-			if ( first && ! select.children('option[value=' + first + ']').length )
-				select.append('<option id="display_firstname" value="' + first + '">' + first + '</option>');
-			if ( last && ! select.children('option[value=' + last + ']').length )
-				select.append('<option id="display_lastname" value="' + last + '">' + last + '</option>');
-			if ( first && last ) {
-				if ( ! select.children('option[value=' + first + ' ' + last + ']').length )
-					select.append('<option id="display_firstlast" value="' + first + ' ' + last + '">' + first + ' ' + last + '</option>');
-				if ( ! select.children('option[value=' + last + ' ' + first + ']').length )
-					select.append('<option id="display_lastfirst" value="' + last + ' ' + first + '">' + last + ' ' + first + '</option>');
-			}
-			$('#'+sel).attr('selected', 'selected');
-		});
     });
 
 })(jQuery);
