<link rel="home" href="..." />was causing it. I don't know why but both Safari and Firefox were causing the associated Struts action to execute twice. Fetching the page with wget, however, resulted in the expected behavior.
Random note: if you google for rel link="home", the web application I'm talking about shows up as the third result. Odd.