diff -Naur gtk+-2.6.1.orig/gtk/gtkdialog.c gtk+-2.6.1/gtk/gtkdialog.c --- gtk+-2.6.1.orig/gtk/gtkdialog.c 2005-01-03 18:40:36.000000000 +0100 +++ gtk+-2.6.1/gtk/gtkdialog.c 2005-01-21 10:31:17.072576888 +0100 @@ -345,10 +345,16 @@ if (!window->focus_widget) { GList *children, *tmp_list; + GtkWidget *first_focus = NULL; do { g_signal_emit_by_name (window, "move_focus", GTK_DIR_TAB_FORWARD); + + if (first_focus == NULL) + first_focus = window->focus_widget; + else if (first_focus == window->focus_widget) + break; } while (GTK_IS_LABEL (window->focus_widget));