In the BeanFactoryTypeConverter, when falling back to a PropertyEditor (when the source is non- String and the target is String), the setValue() and getAsText() methods are used. This is not thread-safe and one thread might get another's converted value. Synchronize the use of the PropertyEditor. Add test, that reliably reproduces the problem, to verify the fix.