diff --git a/src/api/client/membership.rs b/src/api/client/membership.rs
index 97aa1c691331334c65e25e43ab57505024fbf714..bde8dee85a7867570ad8e9653cafebdbb3e3cc61 100644
--- a/src/api/client/membership.rs
+++ b/src/api/client/membership.rs
@@ -1306,7 +1306,7 @@ pub(crate) async fn invite_helper(
 	services: &Services, sender_user: &UserId, user_id: &UserId, room_id: &RoomId, reason: Option<String>,
 	is_direct: bool,
 ) -> Result<()> {
-	if !services.users.is_admin(user_id).await && services.globals.block_non_admin_invites() {
+	if !services.users.is_admin(sender_user).await && services.globals.block_non_admin_invites() {
 		info!("User {sender_user} is not an admin and attempted to send an invite to room {room_id}");
 		return Err(Error::BadRequest(
 			ErrorKind::forbidden(),