diff --git a/components/buffer-header.js b/components/buffer-header.js
index 3436bdf..072dd90 100644
--- a/components/buffer-header.js
+++ b/components/buffer-header.js
@@ -2,6 +2,7 @@ import { html, Component } from "../lib/index.js";
 import linkify from "../lib/linkify.js";
 import { strip as stripANSI } from "../lib/ansi.js";
 import { BufferType, ServerStatus, getServerName } from "../state.js";
+import * as irc from "../lib/irc.js";
 
 const UserStatus = {
 	HERE: "here",
@@ -134,7 +135,7 @@ export default function BufferHeader(props) {
 			}
 
 			let realname = props.buffer.name;
-			if (props.user.realname) {
+			if (irc.isMeaningfulRealname(props.user.realname, props.buffer.name)) {
 				realname = stripANSI(props.user.realname || "");
 			}
 
diff --git a/components/member-list.js b/components/member-list.js
index d2095f1..93d8813 100644
--- a/components/member-list.js
+++ b/components/member-list.js
@@ -2,6 +2,7 @@ import { html, Component } from "../lib/index.js";
 import { getNickURL } from "../state.js";
 import { strip as stripANSI } from "../lib/ansi.js";
 import Membership from "./membership.js";
+import * as irc from "../lib/irc.js";
 
 class MemberItem extends Component {
 	constructor(props) {
@@ -48,7 +49,7 @@ class MemberItem extends Component {
 				mask = `${user.username}@${user.hostname}`;
 			}
 
-			if (user.realname) {
+			if (irc.isMeaningfulRealname(user.realname, this.props.nick)) {
 				title = stripANSI(user.realname);
 				if (mask) {
 					title = `${title} (${mask})`;
diff --git a/lib/irc.js b/lib/irc.js
index 5a7b8a5..92204c7 100644
--- a/lib/irc.js
+++ b/lib/irc.js
@@ -638,3 +638,20 @@ export function forEachChannelModeUpdate(msg, isupport, callback) {
 		callback(mode, add, arg);
 	}
 }
+
+/**
+ * Since the realname is mandatory, many clients set a meaningless realname.
+ */
+export function isMeaningfulRealname(realname, nick) {
+	if (!realname || realname === nick) {
+		return false;
+	}
+
+	if (realname.toLowerCase() === "realname") {
+		return false;
+	}
+
+	// TODO: add more quirks
+
+	return true;
+}