Index: src/proc/scheduler.c
===================================================================
--- src/proc/scheduler.c	(revision f2ffad4342f5a0d642de7381ee4fe7692a9fa8ef)
+++ src/proc/scheduler.c	(revision 32a89bf4fb22522e90b72ab322cd5e243f654379)
@@ -233,5 +233,5 @@
 	 */
 	context_save(&CPU->saved_context);
-	CPU->saved_context.sp = (__address) &CPU->stack[CPU_STACK_SIZE-8];
+	CPU->saved_context.sp = (__address) &CPU->stack[CPU_STACK_SIZE-SP_DELTA];
 	CPU->saved_context.pc = FADDR(scheduler_separated_stack);
 	context_restore(&CPU->saved_context);
Index: src/proc/thread.c
===================================================================
--- src/proc/thread.c	(revision f2ffad4342f5a0d642de7381ee4fe7692a9fa8ef)
+++ src/proc/thread.c	(revision 32a89bf4fb22522e90b72ab322cd5e243f654379)
@@ -167,5 +167,5 @@
 		context_save(&t->saved_context);
 		t->saved_context.pc = FADDR(cushion);
-		t->saved_context.sp = (__address) &t->kstack[THREAD_STACK_SIZE-8];
+		t->saved_context.sp = (__address) &t->kstack[THREAD_STACK_SIZE-SP_DELTA];
 
 		pri = cpu_priority_high();
