Thanks for the reply, but using thread_local won't work for me, because my compiler doesn't support it yet. I also like to keep my code portable so I try not to rely on C++11 features too much yet.
I tried using boost::thread_specific_ptr and it does exactly what I want, but I'd prefer using SFML implementation of thread local storage if possible to minimize dependencies.