Cycles weird baking behavior: changes to another image texture mid-bake
Alright, after some hours of needless research I figured it out on my own.

My model was using 3 separate materials: one for main mesh, one for camera details (painted and baked textures) and one for cable ribbon details (also painted and baked textures). I had placed two image nodes - one for final diffuse texture and one for final normal map - only in the main material. I had to copy the two nodes also to the remaining two materials I used for detailing. Now baking worked as it should.

I imagine previously when I hadn't specified the bake targets for the remaining two materials Cycles was just picking a random texture node already present in the node tree and baking on top of that - and in this case it was my ambient occlusion map which was shared among all the three materials.

Hope this helps others struggling with trying to bake multiple materials into one final texture.