Multiple instances of one application

I’ve got a Vaadin application and I’m getting some strange behaviour when running two instances of the application at the same time (one in FF, another in IE). I’ve already removed most static objects (these caused the application to completely reload when used parallel to another open application) and now I can interact normally with the UI without the complete reset. However, I’m now noticing that I’m getting only one user’s data in both interfaces. I assume this is caused by a singleton object I’m using to manage some data caching. I’d like to know if it’s the singleton pattern itself that’s causing the strange output or is it just the static instance object I’m keeping?

I chose a singleton object so I’d always have access to the cached data everywhere in my application instance, and the only other way I can think of for doing that is to have a static object somewhere, but the static keyword seems to be the cause of all my problems in the first place. Is there any way around this or is there something else causing it?

For sake of completion, I’ll answer this with the solution I found, which is that I replaced all my singleton objects (and the static ones from before) with regular objects instantiated in my Application class and used Vaadin’s
ThreadLocal Access pattern
to access them in the other parts of my application.