diff --git a/fs/nilfs2/dir.c b/fs/nilfs2/dir.c
index a002a44ff16175f8b6e60b2ad345eaec07ab734a..52e50b1b7f22db17f2aa936f08f60d296e81a227 100644
--- a/fs/nilfs2/dir.c
+++ b/fs/nilfs2/dir.c
@@ -607,7 +607,7 @@ int nilfs_empty_dir(struct inode *inode)
 
 		kaddr = nilfs_get_folio(inode, i, &folio);
 		if (IS_ERR(kaddr))
-			continue;
+			return 0;
 
 		de = (struct nilfs_dir_entry *)kaddr;
 		kaddr += nilfs_last_byte(inode, i) - NILFS_DIR_REC_LEN(1);