Robert, I've seen this thread here: http://thread.gmane.org/gmane.comp.lib.boost.user/21885 And I believe I am coming across the same issue (static *serializer instances) manifesting itself as an assertion failure: Assertion failed: lookup(eti) == m_self->m_map.end(), file vendor/boost/libs/serialization/src/extended_type_info.cpp, line 77 That assertion means that a type_info key is being registered twice. I've verified this via cout (\o/ for debugging). Now I am also of the opinion that there is no way to do this initialization without bringing a threading library into Boost.Serialization. From reading the comments in the code, it appears that the only reason the library is using these singletons is because of VC6. Is it possible to have some thread-safe way (perhaps via ifdefs?) to do these singletons? Or do you think there is another reason I am having this issue? Thanks, Sohail PS: I'm using 1.33.1. If the issue is fixed in 1.34, I'd be very glad!