diff -Nur -x '*.orig' -x '*~' policykit-gnome-0.7/src/polkit-gnome-auth-dialog.c policykit-gnome-0.7.new/src/polkit-gnome-auth-dialog.c
--- policykit-gnome-0.7/src/polkit-gnome-auth-dialog.c	2008-07-07 16:07:16.000000000 -0400
+++ policykit-gnome-0.7.new/src/polkit-gnome-auth-dialog.c	2008-07-07 16:07:39.000000000 -0400
@@ -194,6 +194,7 @@
 
 	/* For each user */
 	for (n = 0; admin_users[n] != NULL; n++) {
+		char *gecos;
 		char *real_name;
 		GdkPixbuf *pixbuf;
 		struct passwd *passwd;
@@ -207,10 +208,17 @@
 		}
 
 		/* Real name */
-		if (passwd->pw_gecos != NULL && strlen (passwd->pw_gecos) > 0)
-			real_name = g_strdup_printf (_("%s (%s)"), passwd->pw_gecos, admin_users[n]);
+		gecos = g_strdup (passwd->pw_gecos);
+		if (gecos != NULL && strlen (gecos) > 0) {
+			char *first_comma = strchr (gecos, ',');
+			if (first_comma)
+				*first_comma = '\0';
+		}
+		if (gecos != NULL && strlen (gecos) > 0)
+			real_name = g_strdup_printf (_("%s (%s)"), gecos, admin_users[n]);
 		else
 			real_name = g_strdup (admin_users[n]);
+		g_free (gecos);
 
 		/* Load users face */
 		pixbuf = NULL;
