diff --git a/fs/gfs2/dentry.c b/fs/gfs2/dentry.c
index 4a456338b8733bdc26864d183c12239f290dd404..0da8da2c991d30a906f954ce021f5373092298f9 100644
--- a/fs/gfs2/dentry.c
+++ b/fs/gfs2/dentry.c
@@ -44,7 +44,7 @@ static int gfs2_drevalidate(struct dentry *dentry, struct nameidata *nd)
 	int error;
 	int had_lock = 0;
 
-	if (nd->flags & LOOKUP_RCU)
+	if (nd && nd->flags & LOOKUP_RCU)
 		return -ECHILD;
 
 	parent = dget_parent(dentry);