diff --git a/userprog/process.c b/userprog/process.c
index 98ff0aaff1c93c0851eefa08c7a947534314f5d0..6577694d14e487db6c346888600c65ef9e9427a0 100644
--- a/userprog/process.c
+++ b/userprog/process.c
@@ -79,7 +79,7 @@ start_process (void *file_name_)
      arguments on the stack in the form of a `struct intr_frame',
      we just point the stack pointer (%initial_stack_pointer) to our stack frame
      and jump to it. */
-  asm volatile ("movl %0, %%initial_stack_pointer; jmp intr_exit" : : "g" (&if_) : "memory");
+  asm volatile ("movl %0, %%esp; jmp intr_exit" : : "g" (&if_) : "memory");
   NOT_REACHED ();
 }