diff --git a/src/sbbs3/nopen.c b/src/sbbs3/nopen.c
index f25572ede30ad3ba34aa1c1a7f1abc3cb86e8de5..fd2306ec0b9150a3fba5128b9d44fcea143cd913 100644
--- a/src/sbbs3/nopen.c
+++ b/src/sbbs3/nopen.c
@@ -154,6 +154,15 @@ bool _fmutex_open(fmutex_t* fm, const char* text, long max_age, bool auto_remove
 		);
 	if(h == INVALID_HANDLE_VALUE)
 		return false;
+	if(!LockFile(h,
+		0,	// dwFileOffsetLow
+		0,	// dwFileOffsetHigh
+		1,	// nNumberOfBytesToLockLow
+		0	// nNumberOfBytesToLockHigh
+		)) {
+		CloseHandle(h);
+		return false;
+	}
 	if((fm->fd = _open_osfhandle((intptr_t)h, O_WRONLY)) == -1) {
 		CloseHandle(h);
 		return false;