diff --git a/kernel/fork.c b/kernel/fork.c
index 3da978eec791216dd796cd704aed67b263713fa1..4b4eab2a316136fc3bd44bdb7e55eeee509b1030 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -687,6 +687,7 @@ static struct files_struct *dup_fd(struct files_struct *oldf, int *errorp)
 		 * the latest pointer.
 		 */
 		spin_lock(&oldf->file_lock);
+		open_files = count_open_files(old_fdt);
 		old_fdt = files_fdtable(oldf);
 	}