Index: kernel/arch/arm64/src/arm64.c
===================================================================
--- kernel/arch/arm64/src/arm64.c	(revision 51da086e3b1f5ba973597f689605c61b5b817885)
+++ kernel/arch/arm64/src/arm64.c	(revision 14b5c30f53e8a8c147d9a0c60c2552bfeb4b6145)
@@ -167,7 +167,11 @@
 	asm volatile (
 	    /*
-	     * Clear all general-purpose registers, except x0 that holds an
-	     * argument for the user space.
+	     * Reset the kernel stack to its base value.
+	     *
+	     * Clear all general-purpose registers,
+	     * except x0 that holds an argument for
+	     * the user space.
 	     */
+	    "mov sp, %[kstack]\n"
 	    "mov x0, %[uspace_uarg]\n"
 	    "mov x1, #0\n"
@@ -202,5 +206,7 @@
 	    "mov x30, #0\n"
 	    "eret\n"
-	    :: [uspace_uarg] "r" (kernel_uarg->uspace_uarg)
+	    :: [uspace_uarg] "r" (kernel_uarg->uspace_uarg),
+	       [kstack] "r" (((uint64_t) (THREAD->kstack))
+	           + MEM_STACK_SIZE - SP_DELTA)
 	);
 
