diff --git a/src/server/api/endpoints/notes/create.ts b/src/server/api/endpoints/notes/create.ts
index fa4388b687..e8c37664f5 100644
--- a/src/server/api/endpoints/notes/create.ts
+++ b/src/server/api/endpoints/notes/create.ts
@@ -42,7 +42,7 @@ export const meta = {
 		},
 
 		visibleUserIds: {
-			validator: $.arr($.type(ID)).optional.unique().min(1),
+			validator: $.arr($.type(ID)).optional.unique().min(0),
 			transform: transformMany,
 			desc: {
 				'ja-JP': '(投稿の公開範囲が specified の場合)投稿を閲覧できるユーザー'
diff --git a/src/services/note/create.ts b/src/services/note/create.ts
index 248c2372f0..84daa7dfe7 100644
--- a/src/services/note/create.ts
+++ b/src/services/note/create.ts
@@ -182,6 +182,12 @@ export default async (user: IUser, data: Option, silent = false) => new Promise<
 				mentionedUsers.push(u);
 			}
 		}
+
+		for (const u of mentionedUsers) {
+			if (!data.visibleUsers.some(x => x._id.equals(u._id))) {
+				data.visibleUsers.push(u);
+			}
+		}
 	}
 
 	const note = await insertNote(user, data, tags, emojis, mentionedUsers);