diff --git a/irc/getters.go b/irc/getters.go index baf86cc6..984d3b6c 100644 --- a/irc/getters.go +++ b/irc/getters.go @@ -616,9 +616,11 @@ func (channel *Channel) Founder() string { func (channel *Channel) HighestUserMode(client *Client) (result modes.Mode) { channel.stateMutex.RLock() - clientModes := channel.members[client].modes - channel.stateMutex.RUnlock() - return clientModes.HighestChannelUserMode() + defer channel.stateMutex.RUnlock() + if clientData, ok := channel.members[client]; ok { + return clientData.modes.HighestChannelUserMode() + } + return } func (channel *Channel) Settings() (result ChannelSettings) {