They're supposed to be called more than once. It's part of the lifecyle stages of JSF.
It's unwise to do any sort of logical processing in accessors or mutators or to make assumptions about when, in what order or how often they will be called. Logical processing should be done either in the constructors, post-constructors (where supported) or in action processors.
In other words, accessors and mutators (setters and getters) should have no side effects.
An IDE is no substitute for an Intelligent Developer.