diff --git a/packages/backend/src/server/web/ClientServerService.ts b/packages/backend/src/server/web/ClientServerService.ts
index af1ff91ac90bfe4df289408d71ecc77e86d528fb..84e8481d55c000efc23d7ecdef4417295c179cf3 100644
--- a/packages/backend/src/server/web/ClientServerService.ts
+++ b/packages/backend/src/server/web/ClientServerService.ts
@@ -232,7 +232,8 @@ export class ClientServerService {
 			const host = path.split('@')[1]?.replace('.webp', '');
 
 			const emoji = await this.emojisRepository.findOneBy({
-				host: host == null ? IsNull() : host,
+				// `@.` is the spec of ReactionService.decodeReaction
+				host: (host == null || host === '.') ? IsNull() : host,
 				name: name,
 			});
 
diff --git a/packages/frontend/src/components/MkEmojiPicker.vue b/packages/frontend/src/components/MkEmojiPicker.vue
index 814f71168a721f6b5179d4744f37dfacc631ed59..e9e265a9163ab363761e491ed9ee01253cf4f7ce 100644
--- a/packages/frontend/src/components/MkEmojiPicker.vue
+++ b/packages/frontend/src/components/MkEmojiPicker.vue
@@ -12,8 +12,7 @@
 					tabindex="0"
 					@click="chosen(emoji, $event)"
 				>
-					<!--<MkEmoji v-if="emoji.char != null" :emoji="emoji.char"/>-->
-					<img class="emoji" :src="disableShowingAnimatedImages ? getStaticImageUrl(emoji.url) : emoji.url"/>
+					<MkEmoji class="emoji" :emoji="`:${emoji.name}:`" />
 				</button>
 			</div>
 			<div v-if="searchResultUnicode.length > 0" class="body">