diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index 63da474a54..fcb1cbbdd5 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -1595,11 +1595,15 @@ void setup() #ifdef DEBUG_UVLO_AUTOMATIC_RECOVER puts_P(_N("Normal recovery!")); #endif - const uint8_t btn = lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_RECOVER_PRINT), false); - if ( btn == LCD_LEFT_BUTTON_CHOICE) { - recover_print(0); - } else { // LCD_MIDDLE_BUTTON_CHOICE - eeprom_update_byte((uint8_t*)EEPROM_UVLO, PowerPanic::NO_PENDING_RECOVERY); + if (eeprom_read_byte((uint8_t*)EEPROM_UVLO) == PowerPanic::PRINT_TYPE_USB) { + recover_print(0); + } else { + const uint8_t btn = lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_RECOVER_PRINT), false); + if ( btn == LCD_LEFT_BUTTON_CHOICE) { + recover_print(0); + } else { // LCD_MIDDLE_BUTTON_CHOICE + eeprom_update_byte((uint8_t*)EEPROM_UVLO, PowerPanic::NO_PENDING_RECOVERY); + } } } }