diff --git a/src/scan.zig b/src/scan.zig
index 7ec36b10d65d20b2e7aa9e23b633dd5b32237a4c..dfa4e8c8395f35ccce36162435c8a81f0f3cef2e 100644
--- a/src/scan.zig
+++ b/src/scan.zig
@@ -204,7 +204,7 @@ const ScanDir = struct {
         // entire subtree, which, in turn, would break all shared hardlink
         // sizes. The current approach may result in incorrect sizes after
         // refresh, but I expect the difference to be fairly minor.
-        if (e.etype != .dir and (e.blocks != stat.blocks or e.size != stat.size)) {
+        if (!(e.etype == .dir and e.counted) and (e.blocks != stat.blocks or e.size != stat.size)) {
             e.delStats(parents);
             e.blocks = stat.blocks;
             e.size = stat.size;