diff --git a/runtime/src/kmp_tasking.cpp b/runtime/src/kmp_tasking.cpp
index 8d9a588d0cf9b8fc347549288170e8ccbdf27f8d..672f9582fee5bdd114dc0d6f5a9f74b97aa10071 100644
--- a/runtime/src/kmp_tasking.cpp
+++ b/runtime/src/kmp_tasking.cpp
@@ -1121,7 +1121,7 @@ static size_t __kmp_round_up_to_val(size_t size, size_t val) {
 // Not that variable length deps are allocated by task_alloc if flag depsinalloc is set
 kmp_task_t* __kmp_task_alloc( ident_t *loc_ref, kmp_int32 gtid, kmp_tasking_flags_t *flags,
                   size_t sizeof_kmp_task_t, size_t sizeof_shareds,
-                  kmp_routine_entry_t task_entry, kmp_int32 ndeps, kmp_int32 ndeps_noalias )
+                  kmp_routine_entry_t task_entry, kmp_int32 ndeps_alias, kmp_int32 ndeps_noalias )
 {
   kmp_task_t *task;
   kmp_taskdata_t *taskdata;
@@ -1133,7 +1133,7 @@ kmp_task_t* __kmp_task_alloc( ident_t *loc_ref, kmp_int32 gtid, kmp_tasking_flag
   KA_TRACE(10, ("__kmp_task_alloc(enter): T#%d loc=%p, flags=(0x%x) "
                 "sizeof_task=%ld sizeof_shared=%ld entry=%p, ndeps=%d ndeps_noalias=%d\n",
                 gtid, loc_ref, *((kmp_int32 *)flags), sizeof_kmp_task_t,
-                sizeof_shareds, task_entry, ndeps, ndeps_noalias) );
+                sizeof_shareds, task_entry, ndeps_alias, ndeps_noalias) );
 
   if ( parent_task->td_flags.final ) {
     if (flags->merged_if0) {
@@ -1181,19 +1181,20 @@ kmp_task_t* __kmp_task_alloc( ident_t *loc_ref, kmp_int32 gtid, kmp_tasking_flag
   }
 #endif
 
+  kmp_int32 ndeps = 0;
 #if OMP_40_ENABLED
   if (flags->depsinalloc)
   {
-    ndeps = ndeps + ndeps_noalias;
+    ndeps = ndeps_alias + ndeps_noalias;
 #if LIBOMP_USE_VARDEP
     kmp_int32 ndeps_extra = thread->th.th_edps_size[0];
     kmp_int32 ndeps_extra_noalias = thread->th.th_edps_size[1];
     ndeps += ndeps_extra + ndeps_extra_noalias;
+    ndeps_alias += ndeps_extra;
+    ndeps_noalias += ndeps_extra_noalias;
 #endif
   }
-  else
 #endif
-    ndeps = 0;
 
   // Calculate shared structure offset including padding after kmp_task_t struct
   // to align pointers in shared struct
@@ -1239,8 +1240,8 @@ kmp_task_t* __kmp_task_alloc( ident_t *loc_ref, kmp_int32 gtid, kmp_tasking_flag
   {
     //taskdata->td_deps              = (kmp_depend_info_t*)& ((char *) taskdata)[ shareds_offset - ndeps*sizeof(kmp_depend_info_t) ];
     taskdata->td_deps              = (kmp_depend_info_t*)(task+1);
-    taskdata->td_ndeps             = ndeps;
-    taskdata->td_deps_noalias      = taskdata->td_deps+ndeps;
+    taskdata->td_ndeps             = ndeps_alias;
+    taskdata->td_deps_noalias      = taskdata->td_deps+ndeps_alias;
     taskdata->td_ndeps_noalias     = ndeps_noalias;
     taskdata->td_flags.depsinalloc = 1;
     KMP_DEBUG_ASSERT( (void*)(taskdata->td_deps_noalias+ndeps_noalias) <= (void*)task->shareds || task->shareds == NULL);