diff --git a/src/main/java/net/dv8tion/jda/internal/handle/VoiceStateUpdateHandler.java b/src/main/java/net/dv8tion/jda/internal/handle/VoiceStateUpdateHandler.java index a5b114bc0a..b3bf1e2258 100644 --- a/src/main/java/net/dv8tion/jda/internal/handle/VoiceStateUpdateHandler.java +++ b/src/main/java/net/dv8tion/jda/internal/handle/VoiceStateUpdateHandler.java @@ -103,7 +103,9 @@ private void handleGuildVoiceState(DataObject content) DataObject memberJson = content.getObject("member"); MemberImpl member = getJDA().getEntityBuilder().createMember((GuildImpl) guild, memberJson); - if (member == null) return; + // Only fire the events below if the member is cached + // If the member isn't cached, we would be firing every event that doesn't correspond to the default voice state + if (guild.getMemberById(member.getIdLong()) == null) return; GuildVoiceStateImpl vState = (GuildVoiceStateImpl) member.getVoiceState(); if (vState == null)