Lightmap UV Offset at Runtime

I have a shader that uses the 2nd UV set for both the lightmap (generated using Unitys Enlighten) and an overlay texture i use. When i bake the mesh in Unity it looks correct in the editor. However… when i ‘start’ the game the UV’s appear to get offset and move on the 2nd UV channel.

It took me a while to realise this was happened and i have tried various ways to resolve it but am struggling. I could use a 3RD UV channel but that seems wasteful. Why is the UV data moving at run time when all the lighting is static?

Any ideas?

Here is the scene from above when the viewed in the edtior (not running).

Here is the same scene when the game is running… (notice all the shadows appear to be in the right locations, but all the UV’s have moved on the terrain to some strange location).

Using Unity 5.6.0p4

Static batching could be the cause of this.
Using a 3rd UV channel is not that wasteful as you think, because it gets compressed by default. You can toggle compression using the configurable vertex channel compression option.