diff --git a/firmware/2lib/2ui.c b/firmware/2lib/2ui.c
index 81243ac..9147862 100644
--- a/firmware/2lib/2ui.c
+++ b/firmware/2lib/2ui.c
@@ -285,6 +285,7 @@
 {
 	struct vb2_ui_context ui;
 	struct vb2_screen_state prev_state;
+	int prev_disable_timer;
 	enum vb2_ui_error prev_error_code;
 	const struct vb2_menu *menu;
 	const struct vb2_screen_info *root_info;
@@ -301,12 +302,15 @@
 	if (rv != VB2_REQUEST_UI_CONTINUE)
 		return rv;
 	memset(&prev_state, 0, sizeof(prev_state));
+	prev_disable_timer = 0;
 	prev_error_code = VB2_UI_ERROR_NONE;
 
 	while (1) {
 		/* Draw if there are state changes. */
 		if (memcmp(&prev_state, ui.state, sizeof(*ui.state)) ||
-		    /* we want to redraw/beep on a transition */
+		    /* We want to redraw when timer is disabled. */
+		    prev_disable_timer != ui.disable_timer ||
+		    /* We want to redraw/beep on a transition. */
 		    prev_error_code != ui.error_code) {
 
 			menu = get_menu(&ui);
@@ -318,6 +322,7 @@
 			vb2ex_display_ui(ui.state->screen->id, ui.locale_id,
 					 ui.state->selected_item,
 					 ui.state->disabled_item_mask,
+					 ui.disable_timer,
 					 ui.error_code);
 			/*
 			 * Only beep if we're transitioning from no
@@ -329,6 +334,7 @@
 
 			/* Update prev variables. */
 			memcpy(&prev_state, ui.state, sizeof(*ui.state));
+			prev_disable_timer = ui.disable_timer;
 			prev_error_code = ui.error_code;
 		}
 
diff --git a/firmware/2lib/include/2api.h b/firmware/2lib/include/2api.h
index 69fd145..0a023c6 100644
--- a/firmware/2lib/include/2api.h
+++ b/firmware/2lib/include/2api.h
@@ -1256,6 +1256,8 @@
  *				doesn't have a menu, this value will be ignored.
  * @param disabled_item_mask	Mask for disabled menu items. Bit (1 << idx)
  *				indicates whether item 'idx' is disabled.
+ * @param timer_disabled	Whether timer is disabled or not. Some screen
+ *				descriptions will depend on this value.
  * @param error_code		Error code if an error occurred.
  * @return VB2_SUCCESS, or error code on error.
  */
@@ -1263,6 +1265,7 @@
 			     uint32_t locale_id,
 			     uint32_t selected_item,
 			     uint32_t disabled_item_mask,
+			     int timer_disabled,
 			     enum vb2_ui_error error_code);
 
 /**
diff --git a/tests/vb2_ui_action_tests.c b/tests/vb2_ui_action_tests.c
index b32bafe..fb110b4 100644
--- a/tests/vb2_ui_action_tests.c
+++ b/tests/vb2_ui_action_tests.c
@@ -386,6 +386,7 @@
 			     uint32_t locale_id,
 			     uint32_t selected_item,
 			     uint32_t disabled_item_mask,
+			     int timer_disabled,
 			     enum vb2_ui_error error_code)
 {
 	struct display_call displayed = (struct display_call){
diff --git a/tests/vb2_ui_tests.c b/tests/vb2_ui_tests.c
index 47c7046..516ec6f 100644
--- a/tests/vb2_ui_tests.c
+++ b/tests/vb2_ui_tests.c
@@ -326,6 +326,7 @@
 			     uint32_t locale_id,
 			     uint32_t selected_item,
 			     uint32_t disabled_item_mask,
+			     int timer_disabled,
 			     enum vb2_ui_error error_code)
 {
 	struct display_call displayed = (struct display_call){
