Index: src/libchcore/TSubTaskBase.cpp
===================================================================
diff -u -r2efd22688b8d12be34c87bf2b024d8db6e317d60 -ra7834ba278464cb62739f22d35f9bc16269706a1
--- src/libchcore/TSubTaskBase.cpp	(.../TSubTaskBase.cpp)	(revision 2efd22688b8d12be34c87bf2b024d8db6e317d60)
+++ src/libchcore/TSubTaskBase.cpp	(.../TSubTaskBase.cpp)	(revision a7834ba278464cb62739f22d35f9bc16269706a1)
@@ -47,8 +47,6 @@
 
 TSmartPath TSubTaskBase::CalculateDestinationPath(const TFileInfoPtr& spFileInfo, TSmartPath pathDst, int iFlags)
 {
-	TBasePathDataContainer& rSourcePathsInfo = GetContext().GetBasePathDataContainer();
-
 	if(!spFileInfo)
 		THROW_CORE_EXCEPTION(eErr_InvalidArgument);
 
@@ -65,12 +63,11 @@
 	}
 	else
 	{
-		size_t stSrcObjectID = spFileInfo->GetSrcObjectID();
+		TBasePathDataPtr spPathData = spFileInfo->GetBasePathData();
 
-		if(!(iFlags & 0x01) && stSrcObjectID != std::numeric_limits<size_t>::max())
+		if(!(iFlags & 0x01) && spPathData)
 		{
 			// generate new dest name
-			TBasePathDataPtr spPathData = rSourcePathsInfo.Get(stSrcObjectID);
 			if(!spPathData->IsDestinationPathSet())
 			{
 				// generate something - if dest folder == src folder - search for copy