Index: main-menu.c
===================================================================
--- main-menu.c	(revision 46988)
+++ main-menu.c	(working copy)
@@ -613,7 +613,11 @@
 	while ((p=show_main_menu(packages, allocator))) {
 		di_slist_node *node;
 
-		if (p->installer_menu_item < NEVERDEFAULT && last_item_backup) {
+		/* Restore priority if we had lowered it due to backup from
+		 * the menu item now being selected; that is, if the normal
+		 * installation flow is being resumed.
+		 */
+		if (p->installer_menu_item == last_item_backup) {
 			restore_default_priority();
 			last_item_backup = 0;
 		}
@@ -634,7 +638,8 @@
 			case EXIT_BACKUP:
 				di_log(DI_LOG_LEVEL_INFO, "Menu item '%s' succeeded but requested to be left unconfigured.", p->p.package); 
 				modify_debconf_priority(LOWER);
-				last_item_backup = 1;
+				if (last_item_backup == 0)
+					last_item_backup = p->installer_menu_item;
 				break;
 			default:
 				di_log(DI_LOG_LEVEL_WARNING, "Menu item '%s' failed.", p->p.package);
