diff --git a/src/remote/webfinger.ts b/src/remote/webfinger.ts
index 4c0304e3f..c84beb099 100644
--- a/src/remote/webfinger.ts
+++ b/src/remote/webfinger.ts
@@ -20,14 +20,19 @@ export default async function resolve(query, verifier?: string): Promise<IWebFin
 
 		res(result.object);
 	})) as IWebFinger;
+	const subject = finger.subject.toLowerCase().replace(/^acct:/, '');
 
-	if (verifier) {
-		if (finger.subject.toLowerCase().replace(/^acct:/, '') !== verifier) {
-			throw 'WebFinger verfification failed';
+	if (typeof verifier === 'string') {
+		if (subject !== verifier) {
+			throw new Error;
 		}
 
 		return finger;
 	}
 
-	return resolve(finger.subject, finger.subject.toLowerCase());
+	if (typeof subject === 'string') {
+		return resolve(subject, subject);
+	}
+
+	throw new Error;
 }