collision from sphere to polygon gives wrong surface point


I have been trying to work with collisions.
However, when I try to get the surface point, It will not always give the correct surface point.
I am currently using a CollisionHandlerQueue that contains collisions from a sphere into a polygon (the map from roaming ralph).
When the spere collides on the actual surface of a triangle of the map, everything works correct.
However, when the spere collides with the edge of the triangle, getSurfacePoint will not return a point on that edge, but a point outsite the triangle (still on the same plane as the triangle), that is as close to the center of the sphere as possible.
Is there a way to get the point on the edge instead?