Index: kernel/generic/src/interrupt/interrupt.c
===================================================================
--- kernel/generic/src/interrupt/interrupt.c	(revision 2f2beb4545e75c18005ac34da7aad5e5290e68ee)
+++ kernel/generic/src/interrupt/interrupt.c	(revision 0dfa93b0cda81f93598fc30620d75a22c14f06d2)
@@ -54,4 +54,5 @@
 #include <proc/thread.h>
 #include <arch/cycle.h>
+#include <arch/stack.h>
 #include <str.h>
 #include <trace.h>
@@ -222,8 +223,7 @@
 	/*
 	 * The istate structure should be right at the bottom of the kernel
-	 * stack.
+	 * memory stack.
 	 */
-	return (istate_t *) ((uint8_t *)
-	    thread->kstack + STACK_SIZE - sizeof(istate_t));
+	return (istate_t *) &thread->kstack[MEM_STACK_SIZE - sizeof(istate_t)];
 }
 
