determineActualPropertyType does not distinguish between mapping the source or the destination object. It always checks isDestFieldAccessible, even though it's finding the propertyType of the source object. This patch uses isSrcFieldAccessible only when checking the source object. determineActualPropertyType is a private method in the class and is used on two places, once for the source object and once for the destination object. A simple boolean value to distinguish is sufficient.
A diff between 4.1 version and my version
Logged In: YES
user_id=1236069
Originator: NO
Thanks for submitting this and your patience with us applying it. I applied the patch and all unit tests ran green, so this will be in the next release.