I kinda figured out the problem. Every shader is connected to it's own materialInfo node. This node has power over what texture/color is displayed in the viewport etc.
The UV editor breaks the texture connection between materialInfo node and the texture/swatch info the shader is using. I queried the connection before and after the editor opens and they are different.
If I re-connect them AND lock the attribute then the UV editor doesn't mess with it but that prevents checking the different textures attached to the shader in the UV editor so I'm digging around again. Why it treats these particular shaders like this I don't know :s