diff --git a/src/server/api/endpoints/admin/suspend-user.ts b/src/server/api/endpoints/admin/suspend-user.ts
index 5bbd387a20..2ec5196880 100644
--- a/src/server/api/endpoints/admin/suspend-user.ts
+++ b/src/server/api/endpoints/admin/suspend-user.ts
@@ -37,6 +37,10 @@ export default define(meta, (ps) => new Promise(async (res, rej) => {
 		return rej('cannot suspend admin');
 	}
 
+	if (user.isModerator) {
+		return rej('cannot suspend moderator');
+	}
+
 	await User.findOneAndUpdate({
 		_id: user._id
 	}, {