diff --git a/security/yama/yama_lsm.c b/security/yama/yama_lsm.c
index b05f1dd..c8f3020 100644
--- a/security/yama/yama_lsm.c
+++ b/security/yama/yama_lsm.c
@@ -173,6 +173,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;
