diff --git a/src/threads/thread.c b/src/threads/thread.c
-index 86614f5..7c19894 100644
+index 86614f5..9fa7f1c 100644
--- a/src/threads/thread.c
+++ b/src/threads/thread.c
@@ -15,6 +15,7 @@
#endif
/* Random value for struct thread's `magic' member.
-@@ -350,6 +351,7 @@ thread_exit (void)
-
+@@ -351,7 +352,8 @@ thread_exit (void)
#ifdef USERPROG
process_exit ();
-+ syscall_exit ();
#endif
-
+-
++ syscall_exit ();
++
/* Remove thread from all threads list, set our status to dying,
+ and schedule another process. That process will destroy us
+ when it calls thread_schedule_tail(). */
@@ -608,6 +610,10 @@ init_thread (struct thread *t, const char *name, int priority)
strlcpy (t->name, name, sizeof t->name);
t->stack = (uint8_t *) t + PGSIZE;