diff --git a/src/models/repositories/note.ts b/src/models/repositories/note.ts
index 9771f66704..354ea4dc70 100644
--- a/src/models/repositories/note.ts
+++ b/src/models/repositories/note.ts
@@ -235,7 +235,7 @@ export class NoteRepository extends Repository<Note> {
 	}
 
 	public async packMany(
-		notes: (Note['id'] | Note)[],
+		notes: Note[],
 		me?: User['id'] | User | null | undefined,
 		options?: {
 			detail?: boolean;
@@ -245,11 +245,10 @@ export class NoteRepository extends Repository<Note> {
 		if (notes.length === 0) return [];
 
 		const meId = me ? typeof me === 'string' ? me : me.id : null;
-		const noteIds = notes.map(n => typeof n === 'object' ? n.id : n);
 		const myReactionsMap = new Map<Note['id'], NoteReaction | null>();
 		if (meId) {
-			const renoteIds = notes.filter(n => (typeof n === 'object') && (n.renoteId != null)).map(n => (n as Note).renoteId!);
-			const targets = [...noteIds, ...renoteIds];
+			const renoteIds = notes.filter(n => n.renoteId != null).map(n => n.renoteId!);
+			const targets = [...notes.map(n => n.id), ...renoteIds];
 			const myReactions = await NoteReactions.find({
 				userId: meId,
 				noteId: In(targets),
diff --git a/src/models/repositories/user.ts b/src/models/repositories/user.ts
index ffece291d6..267e443cff 100644
--- a/src/models/repositories/user.ts
+++ b/src/models/repositories/user.ts
@@ -161,10 +161,11 @@ export class UserRepository extends Repository<User> {
 		const meId = me ? typeof me === 'string' ? me : me.id : null;
 
 		const relation = meId && (meId !== user.id) && opts.detail ? await this.getRelation(meId, user.id) : null;
-		const pins = opts.detail ? await UserNotePinings.find({
-			where: { userId: user.id },
-			order: { id: 'DESC' }
-		}) : [];
+		const pins = opts.detail ? await UserNotePinings.createQueryBuilder('pin')
+			.where('pin.userId = :userId', { userId: user.id })
+			.innerJoinAndSelect('pin.note', 'note')
+			.orderBy('id', 'DESC')
+			.getMany() : [];
 		const profile = opts.detail ? await UserProfiles.findOneOrFail(user.id) : null;
 
 		const falsy = opts.detail ? false : undefined;
@@ -211,7 +212,7 @@ export class UserRepository extends Repository<User> {
 				followingCount: user.followingCount,
 				notesCount: user.notesCount,
 				pinnedNoteIds: pins.map(pin => pin.noteId),
-				pinnedNotes: Notes.packMany(pins.map(pin => pin.noteId), meId, {
+				pinnedNotes: Notes.packMany(pins.map(pin => pin.note!), meId, {
 					detail: true
 				}),
 				pinnedPageId: profile!.pinnedPageId,