bool show;
 
        y = 1;
+       /* currently, the longest label we have is the DNS-servers
+        * widget, so layout our screen based on that */
        help_x = screen->field_x + 2 +
                widget_width(widget_textbox_base(screen->widgets.dns_f));
 
-       y += 1;
-
        wl = widget_label_base(screen->widgets.boot_order_l);
        widget_set_visible(wl, true);
        widget_move(wl, y, screen->label_x);
        widget_move(widget_button_base(screen->widgets.boot_add_b),
                        y, screen->field_x);
        widget_move(widget_button_base(screen->widgets.boot_any_b),
-                       y, screen->field_x + 12);
+                       y, screen->field_x + 14);
        widget_move(widget_button_base(screen->widgets.boot_none_b),
-                       y, screen->field_x + 30);
+                       y, screen->field_x + 34);
 
        wf = widget_button_base(screen->widgets.boot_add_b);
        if (widget_subset_n_inactive(screen->widgets.boot_order_f))
                y += 1;
        }
 
-       y += 2;
+       y += 1;
 
        y += layout_pair(screen, y, screen->widgets.network_l,
                        widget_select_base(screen->widgets.network_f));
        struct config_screen *screen = arg;
 
        screen->show_subset = true;
-       cui_show_subset(screen->cui, _("Select an option"),
+       cui_show_subset(screen->cui, _("Select a boot device to add"),
                        screen->widgets.boot_order_f);
 }
 
        ifcfg = first_active_interface(config);
 
        screen->widgets.boot_add_b = widget_new_button(set, 0, 0, 10,
-                                       _("Add Device"), config_screen_add_device,
-                                       screen);
+                                       _("Add Device"),
+                                       config_screen_add_device, screen);
 
        screen->widgets.boot_none_b = widget_new_button(set, 0, 0, 10,
                                        _("Clear"),
                                        config_screen_autoboot_none, screen);
 
        screen->widgets.boot_any_b = widget_new_button(set, 0, 0, 16,
-                                       _("Clear & Boot Any"), config_screen_autoboot_any,
-                                       screen);
+                                       _("Clear & Boot Any"),
+                                       config_screen_autoboot_any, screen);
 
        screen->widgets.boot_order_l = widget_new_label(set, 0, 0,
-                                       _("Boot order:"));
+                                       _("Boot Order:"));
        screen->widgets.boot_order_f = widget_new_subset(set, 0, 0,
                                        COLS - screen->field_x,
                                        config_screen_update_subset);
 
 
 static void subset_screen_layout_widgets(struct subset_screen *screen)
 {
-       int y = 2;
+       int y = 1;
 
        /* select */
        widget_move(widget_select_base(screen->widgets.options_f),
        y += 1;
 
        widget_move(widget_button_base(screen->widgets.ok_b),
-               y, screen->field_x + 12);
+               y, screen->field_x);
        widget_move(widget_button_base(screen->widgets.cancel_b),
-               y, screen->field_x + 24);
+               y, screen->field_x + 14);
 }
 
 static void subset_screen_option_select(void *arg, int value)
        screen->cui = cui;
        screen->on_exit = on_exit;
        screen->options = (struct nc_widget_subset *) subset;
-       screen->label_x = 2;
-       screen->field_x = 22;
+       screen->label_x = 8;
+       screen->field_x = 8;
 
        screen->return_scr = current_scr;