Index: src/libchcore/TLocalFilesystem.cpp
===================================================================
diff -u -N -rb75259a9158d8b46d747e20ab4960dd002adb4b1 -re4005a958c9412d890eeff1e8087c8298aa7bcf7
--- src/libchcore/TLocalFilesystem.cpp	(.../TLocalFilesystem.cpp)	(revision b75259a9158d8b46d747e20ab4960dd002adb4b1)
+++ src/libchcore/TLocalFilesystem.cpp	(.../TLocalFilesystem.cpp)	(revision e4005a958c9412d890eeff1e8087c8298aa7bcf7)
@@ -491,7 +491,7 @@
 	if (!IsOpen())
 		THROW_CORE_EXCEPTION(eErr_InternalProblem);
 
-	DWORD dwToWrite = boost::numeric_cast<DWORD>(rBuffer.GetBytesTransferred());
+	DWORD dwToWrite = boost::numeric_cast<DWORD>(rBuffer.GetRealDataSize());
 
 	if (m_bNoBuffering && rBuffer.IsLastPart())
 		dwToWrite = RoundUp<DWORD>(dwToWrite, MaxSectorSize);