Index: src/ch/TSubTaskScanDirectory.cpp
===================================================================
diff -u -N -r9a171c5d46f2bc029d99a698d88eeff60497cd3b -rb0d7cb2020371c35b5fbaab566b4dcc850fed460
--- src/ch/TSubTaskScanDirectory.cpp	(.../TSubTaskScanDirectory.cpp)	(revision 9a171c5d46f2bc029d99a698d88eeff60497cd3b)
+++ src/ch/TSubTaskScanDirectory.cpp	(.../TSubTaskScanDirectory.cpp)	(revision b0d7cb2020371c35b5fbaab566b4dcc850fed460)
@@ -224,6 +224,9 @@
 
 	while(finder.FindNext(spFileInfo))
 	{
+		if(rThreadController.KillRequested())
+			break;
+
 		if(!spFileInfo->IsDirectory())
 		{
 			if(afFilters.Match(spFileInfo))
@@ -246,9 +249,6 @@
 			if(bRecurse)
 				ScanDirectory(pathCurrent, stSrcIndex, bRecurse, bIncludeDirs, afFilters);
 		}
-
-		if(rThreadController.KillRequested())
-			break;
 	}
 
 	return 0;