diff --git a/CHANGELOG.md b/CHANGELOG.md
index fb49ef573c65f4b7a16f782e982b8a5a1302e638..f8371379b650852756cbdddadd729b7ef01ea98b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -26,6 +26,7 @@
 
 ### Server
 - Fix: リストTLに自分のフォロワー限定投稿が含まれない問題を修正
+- Fix: ローカルタイムラインに投稿者自身の投稿への返信が含まれない問題を修正
 
 ## 2023.10.2
 
diff --git a/packages/backend/src/server/api/endpoints/notes/local-timeline.ts b/packages/backend/src/server/api/endpoints/notes/local-timeline.ts
index 3b6c93fdf9828c85341a62891e3a20e058e24b1c..4b9882e83456238262fc046eb944d75e7b633c74 100644
--- a/packages/backend/src/server/api/endpoints/notes/local-timeline.ts
+++ b/packages/backend/src/server/api/endpoints/notes/local-timeline.ts
@@ -120,7 +120,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
 					if (me && (note.userId === me.id)) {
 						return true;
 					}
-					if (!ps.withReplies && note.replyId && (me == null || note.replyUserId !== me.id)) return false;
+					if (!ps.withReplies && note.replyId && note.replyUserId !== note.userId && (me == null || note.replyUserId !== me.id)) return false;
 					if (me && isUserRelated(note, userIdsWhoBlockingMe)) return false;
 					if (me && isUserRelated(note, userIdsWhoMeMuting)) return false;
 					if (note.renoteId) {
diff --git a/packages/backend/test/e2e/timelines.ts b/packages/backend/test/e2e/timelines.ts
index 974d2f6820b3ade63c435e8b1ab8542f69273f42..760bb8a574fe400df93f225eae980f3eb2ece97f 100644
--- a/packages/backend/test/e2e/timelines.ts
+++ b/packages/backend/test/e2e/timelines.ts
@@ -526,6 +526,20 @@ describe('Timelines', () => {
 			assert.strictEqual(res.body.some((note: any) => note.id === carolNote.id), true);
 		});
 
+		test.concurrent('他人のその人自身への返信が含まれる', async () => {
+			const [alice, bob] = await Promise.all([signup(), signup()]);
+
+			const bobNote1 = await post(bob, { text: 'hi' });
+			const bobNote2 = await post(bob, { text: 'hi', replyId: bobNote1.id });
+
+			await waitForPushToTl();
+
+			const res = await api('/notes/local-timeline', { limit: 100 }, alice);
+
+			assert.strictEqual(res.body.some((note: any) => note.id === bobNote1.id), true);
+			assert.strictEqual(res.body.some((note: any) => note.id === bobNote2.id), true);
+		});
+
 		test.concurrent('チャンネル投稿が含まれない', async () => {
 			const [alice, bob] = await Promise.all([signup(), signup()]);