Index: kernel/generic/include/cpu.h
===================================================================
--- kernel/generic/include/cpu.h	(revision e994898da769c2fefc731de899af8f1370cd52f4)
+++ kernel/generic/include/cpu.h	(revision daadfa699247351099d4c91048e2f9e9a29c346a)
@@ -55,6 +55,4 @@
 	tlb_shootdown_msg_t tlb_messages[TLB_MESSAGE_QUEUE_LEN];
 	size_t tlb_messages_count;
-
-	context_t saved_context;
 
 	atomic_size_t nrdy;
Index: kernel/generic/src/main/main.c
===================================================================
--- kernel/generic/src/main/main.c	(revision e994898da769c2fefc731de899af8f1370cd52f4)
+++ kernel/generic/src/main/main.c	(revision daadfa699247351099d4c91048e2f9e9a29c346a)
@@ -364,8 +364,9 @@
 	 * switch to this cpu's private stack prior to waking kmp up.
 	 */
-	context_save(&CPU->saved_context);
-	context_set(&CPU->saved_context, FADDR(main_ap_separated_stack),
+	context_t ctx;
+	context_save(&ctx);
+	context_set(&ctx, FADDR(main_ap_separated_stack),
 	    (uintptr_t) CPU->stack, STACK_SIZE);
-	context_restore(&CPU->saved_context);
+	context_restore(&ctx);
 	/* not reached */
 }
Index: kernel/generic/src/proc/scheduler.c
===================================================================
--- kernel/generic/src/proc/scheduler.c	(revision e994898da769c2fefc731de899af8f1370cd52f4)
+++ kernel/generic/src/proc/scheduler.c	(revision daadfa699247351099d4c91048e2f9e9a29c346a)
@@ -371,8 +371,9 @@
 	 *
 	 */
-	context_save(&CPU->saved_context);
-	context_set(&CPU->saved_context, FADDR(scheduler_separated_stack),
+	context_t ctx;
+	context_save(&ctx);
+	context_set(&ctx, FADDR(scheduler_separated_stack),
 	    (uintptr_t) CPU->stack, STACK_SIZE);
-	context_restore(&CPU->saved_context);
+	context_restore(&ctx);
 
 	/* Not reached */
