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.