faux@evildebianbox:~/irssi-0.8.10-patched$ diff -u ../irssi-0.8.10/src/fe-common/core/window-commands.c src/fe-common/core/window-commands.c --- ../irssi-0.8.10/src/fe-common/core/window-commands.c 2005-12-08 17:32:43.000000000 +0000 +++ src/fe-common/core/window-commands.c 2007-01-29 03:03:02.209205836 +0000 @@ -248,14 +248,16 @@ static WINDOW_REC *window_highest_activity(WINDOW_REC *window) { WINDOW_REC *rec, *max_win; - GSList *tmp; + GSList *tmp, *sorted; int max_act, through; + sorted = windows_get_sorted(); + g_return_val_if_fail(window != NULL, NULL); max_win = NULL; max_act = 0; through = FALSE; - tmp = g_slist_find(windows, window); + tmp = g_slist_find(sorted, window); for (;; tmp = tmp->next) { if (tmp == NULL) { tmp = windows;