diff --git a/fs/overlayfs/file.c b/fs/overlayfs/file.c
index a1a22f58ba183f6d3181ab48fb4c272bc0b489a5..dd688a842b0b90f5100e7bf62f2673e216096c77 100644
--- a/fs/overlayfs/file.c
+++ b/fs/overlayfs/file.c
@@ -96,6 +96,7 @@ static int ovl_change_flags(struct file *file, unsigned int flags)
 
 	spin_lock(&file->f_lock);
 	file->f_flags = (file->f_flags & ~OVL_SETFL_MASK) | flags;
+	file->f_iocb_flags = iocb_flags(file);
 	spin_unlock(&file->f_lock);
 
 	return 0;