diff --git a/packages/backend/src/core/entities/NotificationEntityService.ts b/packages/backend/src/core/entities/NotificationEntityService.ts
index 31a9809323a7b87d8fca72e2bcde35eb790e7052..cea674d96cf03f454170c24f4bc0ecd58bc5cbd0 100644
--- a/packages/backend/src/core/entities/NotificationEntityService.ts
+++ b/packages/backend/src/core/entities/NotificationEntityService.ts
@@ -5,7 +5,7 @@
 
 import { Inject, Injectable } from '@nestjs/common';
 import { ModuleRef } from '@nestjs/core';
-import { In } from 'typeorm';
+import { In, EntityNotFoundError } from 'typeorm';
 import { DI } from '@/di-symbols.js';
 import type { FollowRequestsRepository, NotesRepository, MiUser, UsersRepository } from '@/models/_.js';
 import { awaitAll } from '@/misc/prelude/await-all.js';
@@ -140,7 +140,12 @@ export class NotificationEntityService implements OnModuleInit {
 		// #endregion
 
 		const needsRole = notification.type === 'roleAssigned';
-		const role = needsRole ? await this.roleEntityService.pack(notification.roleId) : undefined;
+		const role = needsRole
+			? await this.roleEntityService.pack(notification.roleId).catch(err => {
+				if (err instanceof EntityNotFoundError) return undefined;
+				throw err;
+			})
+			: undefined;
 		// if the role has been deleted, don't show this notification
 		if (needsRole && !role) {
 			return null;