diff --git a/reform2-keyboard-fw/menu.c b/reform2-keyboard-fw/menu.c
index a17ba33a9863fc0b1857c9f8fd1ff426ad147f56..0dfed72ce112540eeabba1f09a4168fb560abab1 100644
--- a/reform2-keyboard-fw/menu.c
+++ b/reform2-keyboard-fw/menu.c
@@ -95,7 +95,12 @@ void jump_to_bootloader(void) {
 
 // returns 1 for navigation function (stay in meta mode), 0 for terminal function
 int execute_meta_function(int keycode) {
-  if (keycode == KEY_0) {
+  if (keycode == KEY_ESCAPE) {
+    gfx_clear();
+    gfx_flush();
+  }
+#ifndef KBD_MODE_STANDALONE
+  else if (keycode == KEY_0) {
     // TODO: are you sure?
     anim_goodbye();
     remote_turn_off_som();
@@ -126,6 +131,7 @@ int execute_meta_function(int keycode) {
     remote_get_voltages();
     return 0;
   }
+#endif
   else if (keycode == KEY_S) {
     remote_get_status();
     return 0;
@@ -156,10 +162,6 @@ int execute_meta_function(int keycode) {
   else if (keycode == KEY_ENTER) {
     return execute_menu_function(current_menu_y);
   }
-  else if (keycode == KEY_ESCAPE) {
-    gfx_clear();
-    gfx_flush();
-  }
   else if (keycode == KEY_X) {
     gfx_clear();
     gfx_poke_str(1, 1, "Entered firmware");
diff --git a/reform2-keyboard4-fw/src/menu.c b/reform2-keyboard4-fw/src/menu.c
index a8cc272a44dc846014a29929680674e802a8cceb..a0b97b31df5a6242202bc3a66935b4643c3d8432 100644
--- a/reform2-keyboard4-fw/src/menu.c
+++ b/reform2-keyboard4-fw/src/menu.c
@@ -102,7 +102,13 @@ int execute_menu_row_function(int y) {
 
 // returns 1 for navigation function (stay in menu mode), 0 for terminal function
 int execute_menu_function(int keycode) {
-  if (keycode == KEY_0) {
+  if (keycode == KEY_ESC) {
+    gfx_clear();
+    gfx_flush();
+    return 0;
+  }
+#if KBD_MODE != KBD_MODE_STANDALONE
+  else if (keycode == KEY_0) {
     // TODO: are you sure?
     anim_goodbye();
     remote_turn_off_som();
@@ -119,15 +125,21 @@ int execute_menu_function(int keycode) {
     // reset the MCU
     rp2040_reset();
   }
+  else if (keycode == KEY_B) {
+    current_menu_page = MENU_PAGE_BATTERY_STATUS;
+    remote_get_voltages(0);
+    return 0;
+  }
+  else if (keycode == KEY_SPACE) {
+    remote_wake_som();
+  }
+#endif
   else if (keycode == KEY_T) {
     render_tina();
     logo_timeout_ticks = 10;
     current_menu_page = MENU_PAGE_MNT_LOGO;
     return 0;
   }
-  else if (keycode == KEY_SPACE) {
-    remote_wake_som();
-  }
   else if (keycode == KEY_H) {
     // turn-on hint page
     gfx_clear();
@@ -138,11 +150,6 @@ int execute_menu_function(int keycode) {
     current_menu_page = MENU_PAGE_MNT_LOGO;
     return 0;
   }
-  else if (keycode == KEY_B) {
-    current_menu_page = MENU_PAGE_BATTERY_STATUS;
-    remote_get_voltages(0);
-    return 0;
-  }
   else if (keycode == KEY_S) {
     remote_get_status();
     return 0;
@@ -189,10 +196,6 @@ int execute_menu_function(int keycode) {
   else if (keycode == KEY_ENTER) {
     return execute_menu_row_function(current_menu_y);
   }
-  else if (keycode == KEY_ESC) {
-    gfx_clear();
-    gfx_flush();
-  }
   else if (keycode == KEY_X) {
     gfx_clear();
     gfx_poke_cstr(1, 1, "Entered firmware");