Arduino ADC read bad value
The datasheet says:


  The first ADC conversion result after switching reference voltage
  source may be inaccurate, and the user is advised to discard this
  result.


Then you could try to take each reading twice, looping over four ADC
readings:


Read bandgap with Vcc as reference, discard the value.
Re-take the same, keep the value.
Read A1 with 1.1V bandgap as reference, discard the value.
Re-take the same, keep the value.