It sounds like there's a general consensus on how to fix this.  Tino, would you care to post a finalized patch?

Note: bug#25370 is a duplicate of this, it should probably be marked closed, wontfix, etc.