Index: src/proc/scheduler.c
===================================================================
--- src/proc/scheduler.c	(revision f2ffad4342f5a0d642de7381ee4fe7692a9fa8ef)
+++ src/proc/scheduler.c	(revision c01bd2804fd614b41795206b217e7ea7ab277eb3)
@@ -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 c01bd2804fd614b41795206b217e7ea7ab277eb3)
@@ -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();
