diff --git a/openmp/runtime/src/kmp_tasking.cpp b/openmp/runtime/src/kmp_tasking.cpp --- a/openmp/runtime/src/kmp_tasking.cpp +++ b/openmp/runtime/src/kmp_tasking.cpp @@ -2785,7 +2785,8 @@ victim_td->td.td_deque_head = (victim_td->td.td_deque_head + 1) & TASK_DEQUE_MASK(victim_td->td); } else { - if (!task_team->tt.tt_untied_task_encountered) { + if (!task_team->tt.tt_untied_task_encountered && + !task_team->tt.tt_hidden_helper_task_encountered) { // The TSC does not allow to steal victim task __kmp_release_bootstrap_lock(&victim_td->td.td_deque_lock); KA_TRACE(10, ("__kmp_steal_task(exit #3): T#%d could not steal from "