diff --git a/kernel/sys.c b/kernel/sys.c
index f9492284e5d23b76862dd87dcf458fc80a7072bb..fdad206165d0aed6e22c4acd90e49842a44e71f7 100644
--- a/kernel/sys.c
+++ b/kernel/sys.c
@@ -368,6 +368,7 @@ EXPORT_SYMBOL(unregister_reboot_notifier);
 void kernel_restart(char *cmd)
 {
 	kernel_restart_prepare(cmd);
+	disable_nonboot_cpus();
 	if (!cmd)
 		printk(KERN_EMERG "Restarting system.\n");
 	else