diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index ed9f04b..8e6152e 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -98,7 +98,7 @@
  */
 static int have_vcpu_info_placement = 1;
 
-static void __init xen_vcpu_setup(int cpu)
+static void xen_vcpu_setup(int cpu)
 {
 	struct vcpu_register_vcpu_info info;
 	int err;
@@ -136,6 +136,34 @@
 	}
 }
 
+/*
+ * On restore, set the vcpu placement up again.
+ * If it fails, then we're in a bad state, since
+ * we can't back out from using it...
+ */
+void xen_vcpu_restore(void)
+{
+	if (have_vcpu_info_placement) {
+		int cpu;
+
+		for_each_online_cpu(cpu) {
+			bool other_cpu = (cpu != smp_processor_id());
+
+			if (other_cpu &&
+			    HYPERVISOR_vcpu_op(VCPUOP_down, cpu, NULL))
+				BUG();
+
+			xen_vcpu_setup(cpu);
+
+			if (other_cpu &&
+			    HYPERVISOR_vcpu_op(VCPUOP_up, cpu, NULL))
+				BUG();
+		}
+
+		BUG_ON(!have_vcpu_info_placement);
+	}
+}
+
 static void __init xen_banner(void)
 {
 	printk(KERN_INFO "Booting paravirtualized kernel on %s\n",
diff --git a/arch/x86/xen/suspend.c b/arch/x86/xen/suspend.c
index 7620a16..7ab10f6 100644
--- a/arch/x86/xen/suspend.c
+++ b/arch/x86/xen/suspend.c
@@ -26,6 +26,8 @@
 
 void xen_post_suspend(int suspend_cancelled)
 {
+	xen_setup_shared_info();
+
 	if (suspend_cancelled) {
 		xen_start_info->store_mfn =
 			pfn_to_mfn(xen_start_info->store_mfn);
@@ -35,8 +37,8 @@
 #ifdef CONFIG_SMP
 		xen_cpu_initialized_map = cpu_online_map;
 #endif
+		xen_vcpu_restore();
 	}
 
-	xen_setup_shared_info();
 }
 
diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
index a0503ac..a457e03 100644
--- a/arch/x86/xen/xen-ops.h
+++ b/arch/x86/xen/xen-ops.h
@@ -26,6 +26,7 @@
 void __init xen_arch_setup(void);
 void __init xen_init_IRQ(void);
 void xen_enable_sysenter(void);
+void xen_vcpu_restore(void);
 
 void __init xen_build_dynamic_phys_to_machine(void);
 
