diff --git a/core/src/com/unciv/logic/civilization/managers/PolicyManager.kt b/core/src/com/unciv/logic/civilization/managers/PolicyManager.kt index 757918d78d..240aee86aa 100644 --- a/core/src/com/unciv/logic/civilization/managers/PolicyManager.kt +++ b/core/src/com/unciv/logic/civilization/managers/PolicyManager.kt @@ -258,9 +258,8 @@ class PolicyManager : IsPartOfGameInfoSerialization { if (!adoptedPolicies.remove(policy.name)) throw IllegalStateException("Attempt to remove non-adopted Policy ${policy.name}") - if (!assumeWasFree) { - if (--numberOfAdoptedPolicies < 0) - throw IllegalStateException("Attempt to remove Policy ${policy.name} but civ only has free policies left") + if (!assumeWasFree && numberOfAdoptedPolicies > 0) { + numberOfAdoptedPolicies -= 1 } removePolicyFromTransients(policy)