diff --git a/app/javascript/mastodon/components/follow_button.tsx b/app/javascript/mastodon/components/follow_button.tsx
index 97aaecd1aa..6efd37d16e 100644
--- a/app/javascript/mastodon/components/follow_button.tsx
+++ b/app/javascript/mastodon/components/follow_button.tsx
@@ -129,6 +129,8 @@ export const FollowButton: React.FC<{
: messages.follow;
let label;
+ let disabled =
+ relationship?.blocked_by || account?.suspended || !!account?.moved;
if (!signedIn) {
label = intl.formatMessage(followMessage);
@@ -138,12 +140,16 @@ export const FollowButton: React.FC<{
label = ;
} else if (relationship.muting) {
label = intl.formatMessage(messages.unmute);
+ disabled = false;
} else if (relationship.following) {
label = intl.formatMessage(messages.unfollow);
+ disabled = false;
} else if (relationship.blocking) {
label = intl.formatMessage(messages.unblock);
+ disabled = false;
} else if (relationship.requested) {
label = intl.formatMessage(messages.followRequestCancel);
+ disabled = false;
} else if (relationship.followed_by && !account?.locked) {
label = intl.formatMessage(messages.followBack);
} else {
@@ -168,11 +174,7 @@ export const FollowButton: React.FC<{
return (