diff --git a/security/yama/yama_lsm.c b/security/yama/yama_lsm.c
index 1fb1f90..f3e7d7f 100644
--- a/security/yama/yama_lsm.c
+++ b/security/yama/yama_lsm.c
@@ -169,6 +169,8 @@ static int task_is_descendant(struct task_struct *parent,
 
 	rcu_read_lock();
 	read_lock(&tasklist_lock);
+	if (!thread_group_leader(parent))
+		parent = parent->group_leader;
 	while (walker->pid > 0) {
 		if (!thread_group_leader(walker))
 			walker = walker->group_leader;
