Is the maintenance hit real, or does it just bother you?
If it only bothers you, leave it alone.

Is the performance issue real, or did the previous developer only *think* it was?
Performance problems, more often than not, are not where they are thought to be, even when a profiler is used. (I use [*this technique*](http://stackoverflow.com/a/378024/23771) to reliably find them.)

So there is a possibility that you have an ugly solution to a non-problem, but it could also be an ugly solution to a real problem.
When in doubt, leave it alone.