Automatic API Updater force updating shader code that's in an ifdef

I have a shader that is being automatically updated when going from 5.5 to 5.6

#ifdef UNITY_VERSION >= 560
	o.vertex = UnityObjectToClipPos(v.vertex);
	o.vertex = mul(UNITY_MATRIX_MVP, v.vertex);

I would expect the Auto API updater would not change the above code but after updating to 5.6 it is changing the code in the else to the code in 5.6

This doesn’t happen when using ifdefs in standard c# code but in the shader it’s changing the code.

Am I doing something wrong, is this a bug or is this expected behavior?

Found the answer here: