diff --git a/src/userprog/process.c b/src/userprog/process.c
index d51339a4aff8ec7aae340ae87035ef64358853fd..157465999f5f172cecb7e77fe4af4bf2589d0eb1 100644
--- a/src/userprog/process.c
+++ b/src/userprog/process.c
@@ -443,7 +443,7 @@ setup_stack (void **esp)
     {
       success = install_page (((uint8_t *) PHYS_BASE) - PGSIZE, kpage, true);
       if (success) {
-        *esp = PHYS_BASE;
+        *esp = PHYS_BASE -12;
       } else
         palloc_free_page (kpage);
     }