diff --git a/runtime/src/kmp_tasking.c b/runtime/src/kmp_tasking.c
index 70b67931d094b9e633d68d293d450e902ebae97d..2d29aef8f1375495156ac939ffff06fe944d73af 100644
--- a/runtime/src/kmp_tasking.c
+++ b/runtime/src/kmp_tasking.c
@@ -1913,6 +1913,8 @@ __kmp_steal_task( kmp_info_t *victim, kmp_int32 gtid, kmp_task_team_t *task_team
     taskdata = 0;
 
 #if LIBOMP_USE_AFFINITY
+    kmp_info_t*  thread = __kmp_threads[ gtid ];
+
     for (int ii=0; ii<8; ++ii)
     {
       for (int i=0; i<8; ++i)
@@ -1933,22 +1935,19 @@ __kmp_steal_task( kmp_info_t *victim, kmp_int32 gtid, kmp_task_team_t *task_team
       }
 
       victim_queue = &victim_td->td.td_tasks_queues[KMP_LEVEL_CORE]->qd;
-      if (!kaapi_wsqueue_empty(&(victim_queue->td_wsdeque)))
+      if (!kaapi_wsqueue_empty(&victim_queue->td_wsdeque))
       {
-        taskdata = kaapi_wsqueue_steal_task( &(victim_queue->td_wsdeque) );
+        taskdata = kaapi_wsqueue_steal_task( &victim_queue->td_wsdeque );
         if (taskdata) goto return_from;
       }
 
-#if 0 
       { /* random steal on NUMA node */
-        int numa_victim = __kmp_get_random(thread) % kaapi_all_places_count[KAAPI_HWS_LEVELID_NUMA];
-        if (!kaapi_wsqueue_empty(kaapi_all_places[KAAPI_HWS_LEVELID_NUMA][numa_victim]->queue))
-          taskdata = kaapi_wsqueue_steal_task(
-            kaapi_all_places[KAAPI_HWS_LEVELID_NUMA][numa_victim]->queue
-          );
+        int numa_victim = __kmp_get_random(thread) % task_team->tt.tt_nodes_count;
+        victim_queue = &task_team->tt.tt_nodes_tasks_queues[numa_victim]->qd;
+        if (!kaapi_wsqueue_empty( &victim_queue->td_wsdeque ))
+          taskdata = kaapi_wsqueue_steal_task( &victim_queue->td_wsdeque );
         if (taskdata) goto return_from;
       }
-#endif
   }
 #endif
   victim_queue = &victim_td->td.td_tasks_queues[KMP_LEVEL_CORE]->qd;