diff --git a/fs/nilfs2/dir.c b/fs/nilfs2/dir.c
index 4911f09eb68b01f5e06fcfe165fc7d52f328fb72..e9668e455a35e9c03d3bbf72b667e1b4e481c402 100644
--- a/fs/nilfs2/dir.c
+++ b/fs/nilfs2/dir.c
@@ -627,7 +627,7 @@ int nilfs_empty_dir(struct inode *inode)
 
 		kaddr = nilfs_get_page(inode, i, &page);
 		if (IS_ERR(kaddr))
-			continue;
+			return 0;
 
 		de = (struct nilfs_dir_entry *)kaddr;
 		kaddr += nilfs_last_byte(inode, i) - NILFS_DIR_REC_LEN(1);