diff --git a/arch/x86/kernel/smpboot_64.c b/arch/x86/kernel/smpboot_64.c
index 594889521da1bad7835dc0f2ec372aebe3d33206..500670c93d81d278e0402289803f5881946226b5 100644
--- a/arch/x86/kernel/smpboot_64.c
+++ b/arch/x86/kernel/smpboot_64.c
@@ -141,8 +141,8 @@ static void __cpuinit smp_store_cpu_info(int id)
 	struct cpuinfo_x86 *c = &cpu_data(id);
 
 	*c = boot_cpu_data;
-	identify_cpu(c);
 	c->cpu_index = id;
+	identify_cpu(c);
 	print_cpu_info(c);
 }