--- gnome-system-tools-2.17.5/src/users/user-settings.c-orig	2007-01-12 17:08:29.000000000 -0800
+++ gnome-system-tools-2.17.5/src/users/user-settings.c	2007-01-12 17:01:25.000000000 -0800
@@ -506,14 +506,23 @@
 {
 	OobsUser *user = OOBS_USER (data);
 	GtkWidget *widget;
-	gint uid;
+	gint new_uid;
+	gint old_uid;
+	const gchar* user_login;
+	const gchar* env_login;
 
 	widget = gst_dialog_get_widget (tool->main_dialog, "user_settings_uid");
-	uid = gtk_spin_button_get_value (GTK_SPIN_BUTTON (widget));
+	new_uid = gtk_spin_button_get_value (GTK_SPIN_BUTTON (widget));
+	old_uid   = oobs_user_get_uid (OOBS_USER (user));
+	user_login = oobs_user_get_login_name (OOBS_USER (user));
+	env_login  = getenv ("USERNAME");
 
-	if (is_user_root (user) && uid != 0) {
+	if (is_user_root (user) && new_uid != 0) {
 		*primary_text   = g_strdup (_("Administrator account's user ID should not be modified"));
 		*secondary_text = g_strdup (_("This would leave the system unusable."));
+	} else if (user_login && env_login && strcmp (user_login, getenv ("USERNAME")) == 0 && new_uid != old_uid) {
+		*primary_text   = g_strdup (_("Currently logged in user's ID should not be modified"));
+		*secondary_text = g_strdup (_("Log in as a different user to do this."));
 	}
 }
 
