 
 		if (fUseGlobalTracking)
 		{
-			if (iSlice % (fgkNSlices / 2) == 3)
+			if (iSlice % (fgkNSlices / 2) == 2)
 			{
 				int tmpId = iSlice % (fgkNSlices / 2) - 1;
 				if (iSlice >= fgkNSlices / 2) tmpId += fgkNSlices / 2;

		}
		else
		{
			for (int i = par->fNum + 1;i < par->fSliceCount;i += cls->fNHelperThreads + 1)
			{
				//if (cls->fDebugLevel >= 3) HLTInfo("\tHelper Thread %d Running, Slice %d+%d, Phase %d", par->fNum, par->fFirstSlice, i, par->fPhase);

				{
					if (cls->fUseGlobalTracking)
					{
						int realSlice = i + 1;
						if (realSlice % (fgkNSlices / 2) < 1) realSlice -= fgkNSlices / 2;

						if (realSlice % (fgkNSlices / 2) != 1)
						{
							cls->GlobalTracking(realSlice, par->fNum + 1);
						}

						if (realSlice == 19)
						{
							mustRunSlice19 = 1;
						}
						else
						{
							while (cls->fSliceLeftGlobalReady[realSlice] == 0 || cls->fSliceRightGlobalReady[realSlice] == 0);
							cls->WriteOutput(par->pOutput, par->fFirstSlice, realSlice, par->fNum + 1);
						}
					}
					else
					{
