diff --git a/Source/Game/Guilds/Guild.cs b/Source/Game/Guilds/Guild.cs index e9d60ebc0..756c51960 100644 --- a/Source/Game/Guilds/Guild.cs +++ b/Source/Game/Guilds/Guild.cs @@ -672,13 +672,15 @@ namespace Game.Guilds SendCommandResult(session, GuildCommandType.RemovePlayer, GuildCommandError.RankTooHigh_S, name); else { - DeleteMember(null, guid, false, true); _LogEvent(GuildEventLogTypes.UninvitePlayer, player.GetGUID().GetCounter(), guid.GetCounter()); Player pMember = Global.ObjAccessor.FindConnectedPlayer(guid); SendEventPlayerLeft(pMember, player, true); SendCommandResult(session, GuildCommandType.RemovePlayer, GuildCommandError.Success, name); + + // After call to DeleteMember pointer to member becomes invalid + DeleteMember(null, guid, false, true); } } }