Sadly, it's just one of those BAD (Broken as Designed) code issues that can be fiddled with a little, but not properly fixed till a system overhaul.

And that's what 2.0 is for.