diff --git a/src/hci/commands/dynui_cmd.c b/src/hci/commands/dynui_cmd.c
index d4446dc..6cad638 100644
--- a/src/hci/commands/dynui_cmd.c
+++ b/src/hci/commands/dynui_cmd.c
@@ -207,8 +207,10 @@
 struct choose_options {
 	/** Dynamic user interface name */
 	char *dynui;
-	/** Timeout */
+	/** Initial timeout */
 	unsigned long timeout;
+	/** Post-activity timeout */
+	unsigned long retimeout;
 	/** Default selection */
 	char *select;
 	/** Keep dynamic user interface */
@@ -223,6 +225,8 @@
 		      struct choose_options, select, parse_string ),
 	OPTION_DESC ( "timeout", 't', required_argument,
 		      struct choose_options, timeout, parse_timeout ),
+	OPTION_DESC ( "retimeout", 'r', required_argument,
+		      struct choose_options, retimeout, parse_timeout ),
 	OPTION_DESC ( "keep", 'k', no_argument,
 		      struct choose_options, keep, parse_flag ),
 };
@@ -259,8 +263,8 @@
 		goto err_parse_dynui;
 
 	/* Show as menu */
-	if ( ( rc = show_menu ( dynui, opts.timeout, opts.select,
-				&item ) ) != 0 )
+	if ( ( rc = show_menu ( dynui, opts.timeout, opts.retimeout,
+				opts.select, &item ) ) != 0 )
 		goto err_show_menu;
 
 	/* Apply default type if necessary */
diff --git a/src/hci/tui/menu_ui.c b/src/hci/tui/menu_ui.c
index b7b52ee..c7fad4a 100644
--- a/src/hci/tui/menu_ui.c
+++ b/src/hci/tui/menu_ui.c
@@ -53,8 +53,10 @@
 	struct dynamic_ui *dynui;
 	/** Jump scroller */
 	struct jump_scroller scroll;
-	/** Timeout (0=indefinite) */
+	/** Remaining timeout (0=indefinite) */
 	unsigned long timeout;
+	/** Post-activity timeout (0=indefinite) */
+	unsigned long retimeout;
 };
 
 /**
@@ -180,8 +182,8 @@
 			if ( ui->timeout == 0 )
 				chosen = 1;
 		} else {
-			/* Cancel any timeout */
-			ui->timeout = 0;
+			/* Reset timeout after activity */
+			ui->timeout = ui->retimeout;
 
 			/* Handle scroll keys */
 			move = jump_scroll_key ( &ui->scroll, key );
@@ -241,12 +243,14 @@
  * Show menu
  *
  * @v dynui		Dynamic user interface
- * @v timeout		Timeout period, in ticks (0=indefinite)
+ * @v timeout		Initial timeout period, in ticks (0=indefinite)
+ * @v retimeout		Post-activity timeout period, in ticks (0=indefinite)
  * @ret selected	Selected item
  * @ret rc		Return status code
  */
 int show_menu ( struct dynamic_ui *dynui, unsigned long timeout,
-		const char *select, struct dynamic_item **selected ) {
+		unsigned long retimeout, const char *select,
+		struct dynamic_item **selected ) {
 	struct dynamic_item *item;
 	struct menu_ui ui;
 	char buf[ MENU_COLS + 1 /* NUL */ ];
@@ -258,6 +262,8 @@
 	ui.dynui = dynui;
 	ui.scroll.rows = MENU_ROWS;
 	ui.timeout = timeout;
+	ui.retimeout = retimeout;
+
 	list_for_each_entry ( item, &dynui->items, list ) {
 		if ( item->name ) {
 			if ( ! named_count )
diff --git a/src/include/ipxe/dynui.h b/src/include/ipxe/dynui.h
index 67eb8b8..f47f5cb 100644
--- a/src/include/ipxe/dynui.h
+++ b/src/include/ipxe/dynui.h
@@ -60,7 +60,8 @@
 extern struct dynamic_item * dynui_shortcut ( struct dynamic_ui *dynui,
 					      int key );
 extern int show_menu ( struct dynamic_ui *dynui, unsigned long timeout,
-		       const char *select, struct dynamic_item **selected );
+		       unsigned long retimeout, const char *select,
+		       struct dynamic_item **selected );
 extern int show_form ( struct dynamic_ui *dynui );
 
 #endif /* _IPXE_DYNUI_H */
