While this method is better than just starting to code, it does not prevent you from breaking existing functionality at all. And that's normally the greatest danger when fixing a bug.

If you really want to be safe, there is no way around adding *all* tests required for the module you are working on. However it is *very* unlikely that you have the resources for doing so. Therefore some kind of compromise is required.

Aside from that, I would try to do some refactoring of the existing code before modifying its functionality.