diff --git a/runtime/src/kmp_tasking.cpp b/runtime/src/kmp_tasking.cpp
index 6d19e89102ab43a797c06859b0d99c5ee0ec55eb..7afa7d8f6bf09cebb520bb90e86852abc7b2889a 100644
--- a/runtime/src/kmp_tasking.cpp
+++ b/runtime/src/kmp_tasking.cpp
@@ -373,7 +373,7 @@ __kmp_push_task(kmp_int32 gtid, kmp_task_t * task )
         selected_queue = &task_team->tt.tt_task_queues_mem[KMP_LEVEL_MACHINE][0].qd;
       else
 #endif
-        if ( kaapi_wsqueue_empty(&task_team->tt.tt_task_private_queues[KMP_LEVEL_THREAD][tid].qd->td_wsdeque))
+        if ( kaapi_wsqueue_empty(&task_team->tt.tt_task_private_queues[KMP_LEVEL_THREAD][tid].qd.td_wsdeque))
           selected_queue = &task_team->tt.tt_task_private_queues[KMP_LEVEL_THREAD][tid].qd;
         else
           selected_queue = &task_team->tt.tt_task_queues[KMP_LEVEL_THREAD][tid].qd;
@@ -548,7 +548,7 @@ __kmp_push_task(kmp_int32 gtid, kmp_task_t * task )
     );
   else
 #if LIBOMP_USE_AFFINITY
-    if (select_queue == &task_team->tt.tt_task_private_queues[KMP_LEVEL_THREAD][tid].qd)
+    if (selected_queue == &task_team->tt.tt_task_private_queues[KMP_LEVEL_THREAD][tid].qd)
       err = kaapi_wsqueue_push_task(
           pqueue,
           isremote,
@@ -2703,7 +2703,7 @@ __kmp_remove_my_task( kmp_info_t * thread, kmp_int32 cpu, kmp_int32 node, kmp_in
   {
 #if LIBOMP_USE_AFFINITY
     kmp_int32 tid = thread->th.th_info.ds.ds_tid;
-    if (selected_struct_queue == &task_team->tt.tt_task_private_queues[KMP_LEVEL_THREAD][tid].qd)
+    if (selected_struct_queue == &task_team->tt.tt_task_private_queues[KMP_LEVEL_THREAD][tid])
       taskdata = __kaapi_wsqueue_pop_task( &(selected_struct_queue->qd.td_wsdeque) );
     else
 #endif
@@ -3618,6 +3618,8 @@ static int __kmp_realloc_task_threads_data(kmp_info_t *thread,
       task_team->tt.tt_task_queues[KMP_LEVEL_THREAD] =
           (kmp_queue_data_t *) __kmp_allocate( nthreads * sizeof(kmp_queue_data_t));
 #if LIBOMP_USE_AFFINITY
+      task_team->tt.tt_task_private_queues[KMP_LEVEL_THREAD] =
+          (kmp_queue_data_t *) __kmp_allocate( nthreads * sizeof(kmp_queue_data_t));
       if (task_team->tt.tt_task_queues[KMP_LEVEL_CORE])
         __kmp_free( task_team->tt.tt_task_queues[KMP_LEVEL_CORE] );
       task_team->tt.tt_task_queues[KMP_LEVEL_CORE] =
@@ -3639,11 +3641,10 @@ static int __kmp_realloc_task_threads_data(kmp_info_t *thread,
 #endif
           );
 #if LIBOMP_USE_AFFINITY
-        __kmp_init_task_deque(&task_team->tt.tt_private_task_queues[KMP_LEVEL_THREAD][i],
+        __kmp_init_task_deque(&task_team->tt.tt_task_private_queues[KMP_LEVEL_THREAD][i],
                               KMP_LEVEL_THREAD,
                               i,
                               __kmp_cpu2node(i)
-                              0
           );
 #endif
       }
@@ -3711,10 +3712,10 @@ static int __kmp_realloc_task_threads_data(kmp_info_t *thread,
       i = 0;
       KMP_CPU_SET_ITERATE(phy_index, task_team->tt.tt_nodes_mask)
       {
-        __kmp_init_task_deque(&task_team->tt.tt_task_queues[KMP_LEVEL_NUMA][i], KMP_LEVEL_NUMA, i, phy_index);
-        __kmp_init_task_deque(&task_team->tt.tt_task_private_queues[KMP_LEVEL_NUMA][i], KMP_LEVEL_NUMA, i, phy_index);
+        __kmp_init_task_deque(&task_team->tt.tt_task_queues[KMP_LEVEL_NUMA][phy_index], KMP_LEVEL_NUMA, phy_index, phy_index);
+        __kmp_init_task_deque(&task_team->tt.tt_task_private_queues[KMP_LEVEL_NUMA][phy_index], KMP_LEVEL_NUMA, phy_index, phy_index);
         KA_TRACE( 5, ( "__kmp_enable_tasking: phy index: %i, array index: %i\n", phy_index, i ) );
-        printf( "[TASK_TEAM]: NUMA %i, array index: %i\n", phy_index, i );
+        printf( "[TASK_TEAM]: NUMA %i/%i, array index: %i\n", phy_index, setsize, i );
         i++;
       }
     }