diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c
index bacad0c57810487f47138a11ffcfc43a043fb4d6..e63c1d46f189acd0525271f46fdc7df6b74ecab6 100644
--- a/fs/nfs/dir.c
+++ b/fs/nfs/dir.c
@@ -402,7 +402,7 @@ static struct folio *nfs_readdir_folio_get_locked(struct address_space *mapping,
 	struct folio *folio;
 
 	folio = filemap_grab_folio(mapping, index);
-	if (!folio)
+	if (IS_ERR(folio))
 		return NULL;
 	nfs_readdir_folio_init_and_validate(folio, cookie, change_attr);
 	return folio;