diff -up libglade-2.6.3/glade/glade-gtk.c.secondary libglade-2.6.3/glade/glade-gtk.c
--- libglade-2.6.3/glade/glade-gtk.c.secondary	2009-02-20 00:21:52.433916022 -0500
+++ libglade-2.6.3/glade/glade-gtk.c	2009-02-20 00:22:02.065954023 -0500
@@ -544,7 +544,7 @@ gtk_dialog_build_children(GladeXML *self
 
 {
     GtkDialog *dialog = GTK_DIALOG (w);
-    GList *children, *list;
+    GList *children, *list, *secondary;
 
     glade_standard_build_children (self, w, info);
 
@@ -553,10 +553,13 @@ gtk_dialog_build_children(GladeXML *self
 
     /* repack children of action_area */
     children = gtk_container_get_children(GTK_CONTAINER(dialog->action_area));
+    secondary = NULL;
     for (list = children; list; list = list->next) {
 	GtkWidget *child = GTK_WIDGET(list->data);
 
 	g_object_ref(child);
+	if (gtk_button_box_get_child_secondary (GTK_BUTTON_BOX (dialog->action_area), child))
+		secondary = g_list_prepend (secondary, child);
 	gtk_container_remove (GTK_CONTAINER (dialog->action_area), child);
     }
     for (list = children; list; list = list->next) {
@@ -569,7 +572,12 @@ gtk_dialog_build_children(GladeXML *self
 	g_object_unref(child);
 
     }
+    for (list = secondary; list; list = list->next) {
+	GtkWidget *child = GTK_WIDGET(list->data);
+        gtk_button_box_set_child_secondary (GTK_BUTTON_BOX (dialog->action_area), child, TRUE);
+    }
     g_list_free (children);
+    g_list_free (secondary);
 }
 
 
