This can happen on a project say using accounts, locations and sets, where the EFC at the location and account level is showing twice the EFC than the addition of the EFCs at the sets level would suggest as shown below.
This can easily be created when you start with an EFC value at the location level as shown below.
…and then choose to edit the budget at the set level, while also choosing to ‘Make EFC=Budget’. This will then assign an EFC at the set level, when you already had one at the location level. This could have been easily avoided, by just clearing out the EFC at the location level before assigning a budget (while using ‘make efc=budget’).
The fix is thankfully easy. Just make a note of all the EFCs at the set level, then clear them out one by one. Once all the EFCs are 0 at the set level, the locations value will be editable. You can then zero that out, before re-entering the sets EFCs.