diff --git a/src/remote/activitypub/misc/get-note-html.ts b/src/remote/activitypub/misc/get-note-html.ts
index 5bca4eed62..33dd381689 100644
--- a/src/remote/activitypub/misc/get-note-html.ts
+++ b/src/remote/activitypub/misc/get-note-html.ts
@@ -6,7 +6,7 @@ import config from '../../../config';
 export default function(note: INote) {
 	if (note.text == null) return null;
 
-	let html = toHtml(parse(note.text));
+	let html = toHtml(parse(note.text), note.mentionedRemoteUsers);
 
 	if (note.poll != null) {
 		const url = `${config.url}/notes/${note._id}`;
diff --git a/src/text/html.ts b/src/text/html.ts
index 70b341689a..a51406ca85 100644
--- a/src/text/html.ts
+++ b/src/text/html.ts
@@ -1,8 +1,9 @@
 import { lib as emojilib } from 'emojilib';
 import { JSDOM } from 'jsdom';
 import config from '../config';
+import { INote } from '../models/note';
 
-const handlers = {
+const handlers: {[key: string]: (window: any, token: any, mentionedRemoteUsers: INote["mentionedRemoteUsers"]) => void} = {
 	bold({ document }, { bold }) {
 		const b = document.createElement('b');
 		b.textContent = bold;
@@ -44,9 +45,10 @@ const handlers = {
 		document.body.appendChild(a);
 	},
 
-	mention({ document }, { content }) {
+	mention({ document }, { content, username, host }, mentionedRemoteUsers) {
 		const a = document.createElement('a');
-		a.href = `${config.url}/${content}`;
+		const remoteUserInfo = mentionedRemoteUsers.find(remoteUser => remoteUser.username === username && remoteUser.host === host);
+		a.href = remoteUserInfo ? remoteUserInfo.uri : `${config.url}/${content}`;
 		a.textContent = content;
 		document.body.appendChild(a);
 	},
@@ -88,11 +90,11 @@ const handlers = {
 	}
 };
 
-export default tokens => {
+export default (tokens, mentionedRemoteUsers: INote["mentionedRemoteUsers"] = []) => {
 	const { window } = new JSDOM('');
 
 	for (const token of tokens) {
-		handlers[token.type](window, token);
+		handlers[token.type](window, token, mentionedRemoteUsers);
 	}
 
 	return `<p>${window.document.body.innerHTML}</p>`;