diff --git a/src/com/massivecraft/factions/FPlayer.java b/src/com/massivecraft/factions/FPlayer.java index 746ebd56..b13ff483 100644 --- a/src/com/massivecraft/factions/FPlayer.java +++ b/src/com/massivecraft/factions/FPlayer.java @@ -133,9 +133,14 @@ public class FPlayer extends PlayerEntity implements EconomyParticipator public final void resetFactionData(boolean doSpotUpdate) { - Faction currentFaction = this.getFaction(); - if (currentFaction != null) - currentFaction.removeFPlayer(this); + if (this.factionId != null && Factions.i.exists(this.factionId)) // Avoid infinite loop! TODO: I think that this is needed is a sign we need to refactor. + { + Faction currentFaction = this.getFaction(); + if (currentFaction != null) + { + currentFaction.removeFPlayer(this); + } + } this.factionId = "0"; // The default neutral faction this.chatMode = ChatMode.PUBLIC;