I can't say I've been in quite that situation, luckily for me, but I'll tell you what often happens at my current job.
There, we have people who are more familiar with a certain portion of code, often because they wrote the original (or the most recent refactoring). Then, when someone makes a (usually non-trivial) change in that area, they make sure to have the "expert" review it. Often, if it is a tricky undertaking, they'll double-check their approach with that person before coding it up.
Having everything go through code-review helps as well, as that gets more people familiar with more parts of the code, and also gives people more of an ownership stake in the other areas, since they made suggestions and critiques.
If all that fails, you can always try demonstrating the benefits of the new code. Or point out that you saved them some time fixing the bug. But if you try to go this route to gain trust, be pretty sure you're getting it right, or it will just reinforce their suspicion.
Edit
jpoh asked in the comments:
Although practically, the person who is most familiar with a particular section of code would normally be the one who codes any changes, no?
The original author will often be the one to make changes, especially in the first month or so after the code has been written. However, there are a number of reasons why that might change:
- The original author was gone when a bug needed fixed.
- The bug was assigned to a different team member, who discovered it was in that code only after investigation. Since he tracked the bug down, he would know the most about what is causing that particular bug.
- A new feature needs added that is in a different programmer's skill area.
- The original programmer is busy coding something else, and a different programmer is free.
- It's been so long since it was written, the original writer doesn't remember enough more than anyone else to speed things up in any noticeable way. (This time varies by programmer, but for me is somewhere around 3 months, probably.)
- The original author is gone, but in that case, this whole problem is moot, isn't it?
- The manager of your team doesn't want too high of a hit-by-bus risk in the code.
For a little more background on where I work now, our current codebase was originally developed about 6 years ago, with many algorithms from it lifted from an even earlier project. Many of the developers have been around since then, with plenty of chances to correct each other, and the attitude of openness to bug fixes is (hopefully) transferred to new hires as they come on and become acclimated to our environment.
So far, we also appear to have programmers genuinely interested in improvement, and ones that usually like seeing a simpler, nicer, or more elegant way to solve a problem -- or, they'll explain why that way won't work for this problem. That helps as well.