For a single Action,
Struts will only call reset() once just before it calls the setters.
Are you doing "action chaining"? If so, that may cause it to get executed twice, because you're actually calling two different actions.
For example, suppose you have an "initPage" and a "processPage" action, both of which are defined to use the "myForm" ActionForm. If, in the Action class for processPage you then forward to "initPage.do", the reset method for myForm will execute twice: Once before calling the "processPage" action, and once before calling the "initPage" action.
You can solve this problem by not using action chaining.
I'm not sure if this is the problem you're experiencing or not, but it's one possibility.