diff --git a/default_recovery_ui.c b/default_recovery_ui.c
index f189da4..8ee1239 100644
--- a/default_recovery_ui.c
+++ b/default_recovery_ui.c
@@ -37,11 +37,10 @@
     if (alt && key_code == KEY_L)
         return 1;
     // allow toggling of the display if the correct key is pressed, and the display toggle is allowed or the display is currently off
-#ifdef KEY_POWER_IS_SELECT_ITEM
-    return get_allow_toggle_display() && (key_code == KEY_HOME || key_code == KEY_MENU || key_code == KEY_END);
-#else
+    if (ui_get_showing_back_button()) {
+        return get_allow_toggle_display() && (key_code == KEY_HOME || key_code == KEY_MENU || key_code == KEY_END);
+    }
     return get_allow_toggle_display() && (key_code == KEY_HOME || key_code == KEY_MENU || key_code == KEY_POWER || key_code == KEY_END);
-#endif
 }
 
 int device_reboot_now(volatile char* key_pressed, int key_code) {
@@ -59,9 +58,13 @@
             case KEY_VOLUMEUP:
                 return HIGHLIGHT_UP;
 
-#ifdef KEY_POWER_IS_SELECT_ITEM
             case KEY_POWER:
-#endif
+                if (ui_get_showing_back_button()) {
+                    return SELECT_ITEM;
+                }
+                if (!get_allow_toggle_display())
+                    return GO_BACK;
+                break;
             case KEY_ENTER:
             case BTN_MOUSE:
             case KEY_CENTER:
@@ -70,9 +73,6 @@
             case KEY_SEND:
                 return SELECT_ITEM;
             
-#ifndef KEY_POWER_IS_SELECT_ITEM
-            case KEY_POWER:
-#endif
             case KEY_END:
             case KEY_BACKSPACE:
             case KEY_BACK:
