Index: src/ch/task.cpp
===================================================================
diff -u -rf6706e71721e6828e4e3be894caec6808e27630b -r003e0baad9604efc422ecb3746154e4ff9f40156
--- src/ch/task.cpp	(.../task.cpp)	(revision f6706e71721e6828e4e3be894caec6808e27630b)
+++ src/ch/task.cpp	(.../task.cpp)	(revision 003e0baad9604efc422ecb3746154e4ff9f40156)
@@ -1537,7 +1537,7 @@
 		|| !TimeToFileTime(pSrcInfo->GetLastWriteTime(), &lastWrite) )
 		return false;
 
-	HANDLE handle=CreateFile(lpszName, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
+	HANDLE handle=CreateFile(lpszName, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | (pSrcInfo->IsDirectory() ? FILE_FLAG_BACKUP_SEMANTICS : 0), NULL);
 	if (handle == INVALID_HANDLE_VALUE)
 		return false;