diff --git a/arch/x86/kernel/mpparse_64.c b/arch/x86/kernel/mpparse_64.c
index 83a36eed081b..3681b9d8f557 100644
--- a/arch/x86/kernel/mpparse_64.c
+++ b/arch/x86/kernel/mpparse_64.c
@@ -678,6 +678,10 @@ void __cpuinit mp_register_lapic(u8 id, u8 enabled)
 	struct mpc_config_processor processor;
 	int boot_cpu = 0;
 
+	if (!enabled) {
+		++disabled_cpus;
+		return;
+	}
 	if (id == boot_cpu_physical_apicid)
 		boot_cpu = 1;