this will let you change the order the flags are displayed, at display time... without having to mess with any saved stuffs use the following array as an example... the order in which you put the flags, is the order in which they will show on the list (you may or may not need to delete some of these, and may or may not need to add others for your talker) int ListJumpers[] = { FRIEND, GRAB, INVITE, KEY, NOISY, FIND, OWN, PREFERED, INFORM, BEEP, IGNORE, BLOCK, MAILBLOCK, BAR, NOCANGAME, NOCANGUST, 0 }; lists.c : list_lines() add declaration int newflags = 0; put the following bit after declarations for (count = 0; ListJumpers[count] != 0; count++) if (l->flags & ListJumpers[count]) newflags |= (1<flags & count) to if (newflags & count) the same thing will need to be done to do_entry() put the new for loop just above the one already there thatll reorder the flags as they are output... of course, the headers will also need to be changed to reflect the new order note this is all output oriented...it doesnt change anything about players' lists...so you can reorder stuff/add new ones/ do whutever safely