diff --git a/CHANGELOG.md b/CHANGELOG.md
index 13e07ee53f0bcbc29ad27e72971aee98b0d4540d..987328a970b9942cd96f6869efee35ce95b3454a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -25,6 +25,7 @@ You should also include the user name that made the change.
 - アクティブユーザー数チャートの記録上限値を拡張
 - Playのソースコード上限文字数を2倍に拡張
 - 付箋ウィジェットの高さを設定可能に
+- 配送先サーバーが410 Goneで応答してきた場合は自動で配送停止をするように
 
 ### Bugfixes
 - プロフィールで設定した情報が削除できない問題を修正
diff --git a/packages/backend/src/queue/processors/DeliverProcessorService.ts b/packages/backend/src/queue/processors/DeliverProcessorService.ts
index 2a053a12e0ff82c3b7c5dcee509733e07effdea2..065501fe21c991aeb1118dbc1ef531c02fdd93f1 100644
--- a/packages/backend/src/queue/processors/DeliverProcessorService.ts
+++ b/packages/backend/src/queue/processors/DeliverProcessorService.ts
@@ -115,6 +115,18 @@ export class DeliverProcessorService {
 			if (res instanceof StatusError) {
 				// 4xx
 				if (res.isClientError) {
+					// 相手が閉鎖していることを明示しているため、配送停止する
+					if (res.statusCode === 410) {
+						this.federatedInstanceService.fetch(host).then(i => {
+							this.instancesRepository.update(i.id, {
+								isSuspended: true,
+							});
+							this.federatedInstanceService.updateCachePartial(host, {
+								isSuspended: true,
+							});
+						});
+						return `${host} is gone`;
+					}
 					// HTTPステータスコード4xxはクライアントエラーであり、それはつまり
 					// 何回再送しても成功することはないということなのでエラーにはしないでおく
 					return `${res.statusCode} ${res.statusMessage}`;