diff --git a/ntoskrnl/cc/view.c b/ntoskrnl/cc/view.c index e1d064312ff..5bd1f41411a 100644 --- a/ntoskrnl/cc/view.c +++ b/ntoskrnl/cc/view.c @@ -168,10 +168,12 @@ CcRosFlushVacb ( { NTSTATUS Status; + CcRosUnmarkDirtyVacb(Vacb, TRUE); + Status = CcWriteVirtualAddress(Vacb); - if (NT_SUCCESS(Status)) + if (!NT_SUCCESS(Status)) { - CcRosUnmarkDirtyVacb(Vacb, TRUE); + CcRosMarkDirtyVacb(Vacb); } return Status;