diff --git a/userprog/syscall_close.c b/userprog/syscall_close.c
index 7d3c171f775d3737b66d774ae97c1de82028c6c2..651173b53910e646cfe56c9417fe49a87d495939 100644
--- a/userprog/syscall_close.c
+++ b/userprog/syscall_close.c
@@ -22,5 +22,7 @@ void syscall_close(struct intr_frame *f) {
 		return;
 	}
 	// Close the file using file_close, defined in file.h
-	file_close(file); 
+	file_close(file);
+	// Remove the file_descriptor
+	disassociate_file_descriptor(file_descriptor);
 }
\ No newline at end of file