diff --git a/arch/x86/cpu/cpu.c b/arch/x86/cpu/cpu.c
index f86eaa9df2da9592d8b5dc9d3b74d66e30f1d0da..c9fc7e4ebf10aaa7a06400dfdd72b280522571b6 100644
--- a/arch/x86/cpu/cpu.c
+++ b/arch/x86/cpu/cpu.c
@@ -205,6 +205,8 @@ __weak void board_final_cleanup(void)
 
 int last_stage_init(void)
 {
+	board_final_cleanup();
+
 #if CONFIG_HAVE_ACPI_RESUME
 	void *wake_vector = acpi_find_wakeup_vector();
 
@@ -214,8 +216,6 @@ int last_stage_init(void)
 
 	write_tables();
 
-	board_final_cleanup();
-
 	return 0;
 }
 #endif