diff --git a/fs/romfs/inode.c b/fs/romfs/inode.c
index c5af088d4a4ca6f4de0c9f07d20f873d9b8847e6..d3e243a6f609eb5a9536a2851e5e0713590fe077 100644
--- a/fs/romfs/inode.c
+++ b/fs/romfs/inode.c
@@ -276,7 +276,7 @@ static unsigned char romfs_dtype_table[] = {
 static int
 romfs_readdir(struct file *filp, void *dirent, filldir_t filldir)
 {
-	struct inode *i = filp->f_dentry->d_inode;
+	struct inode *i = filp->f_path.dentry->d_inode;
 	struct romfs_inode ri;
 	unsigned long offset, maxoff;
 	int j, ino, nextfh;