diff --git a/inc/winfsp/winfsp.h b/inc/winfsp/winfsp.h
index 7f77b64a..0ca965d9 100644
--- a/inc/winfsp/winfsp.h
+++ b/inc/winfsp/winfsp.h
@@ -105,7 +105,8 @@ typedef NTSTATUS FSP_FILE_SYSTEM_OPERATION(FSP_FILE_SYSTEM *,
* The fine-grained concurrency model applies the exclusive-shared lock as
* follows:
*
- * - EXCL: SetVolumeLabel, Create, Cleanup(Delete), SetInformation(Rename)
+ * - EXCL: SetVolumeLabel, Flush(Volume),
+ * Create, Cleanup(Delete), SetInformation(Rename)
* - SHRD: GetVolumeInfo, Open, SetInformation(Disposition), ReadDirectory
* - NONE: all other operations
*
diff --git a/src/dll/fsop.c b/src/dll/fsop.c
index 0fcd7d86..4805cb3f 100644
--- a/src/dll/fsop.c
+++ b/src/dll/fsop.c
@@ -29,7 +29,9 @@ FSP_API NTSTATUS FspFileSystemOpEnter(FSP_FILE_SYSTEM *FileSystem,
Request->Req.Cleanup.Delete) ||
(FspFsctlTransactSetInformationKind == Request->Kind &&
10/*FileRenameInformation*/ == Request->Req.SetInformation.FileInformationClass) ||
- FspFsctlTransactSetVolumeInformationKind == Request->Kind)
+ FspFsctlTransactSetVolumeInformationKind == Request->Kind ||
+ (FspFsctlTransactFlushBuffersKind == Request->Kind &&
+ 0 == Request->Req.FlushBuffers.UserContext))
{
AcquireSRWLockExclusive(&FileSystem->OpGuardLock);
}