While writing the code, I have noticed myself that we have room for improvements here, because the skin XML is parsed two times. Actually this solution keeps the same strategy as it was before and not at least just works.
I just want to keep this PR small. It is controversy enough and the solution for this should be well thought. I will put may ideas in a Launchpad bug to find a common sense before coding and merge this like it is.