FYI: I've a patch addressing above problems (without breaking all else) applicable to 4.2 branch. I'm working on porting this patch to master branch.