Weird readings max31855

I connected a K-Type Thermocouple to the max31855.

relevant part of the script:

sensor:
  - platform: max31855
    id: temp_id
    # FSPICS2
    cs_pin: GPIO18
    update_interval: never
  - platform: internal_temperature
    id: internal_temp_id
    update_interval: never

script:
  ...
      # read sensor
      - component.update: temp_id
      - component.update: internal_temp_id
      - delay: 250ms
      - component.update: temp_id
      - delay: 250ms
      # update display
      - component.update: display_id

Relevant log

[20:28:15.554][D][sensor:129]: 'internal_temp_id' >> 21.7 °C
[20:28:15.758][D][max31855:100]: Got thermocouple temperature: 42.00°C
[20:28:15.758][D][sensor:129]: 'temp_id' >> 42.0 °C
[20:28:15.987][D][max31855:100]: Got thermocouple temperature: 21.00°C
[20:28:15.988][D][sensor:129]: 'temp_id' >> 21.0 °C

I am writing the temperature to a display and it shows the correct reading.
Updating the temperature sensor only once results in very weird readings. The second reading is correct.
Is this expected?

And what you get if you remove the script and give the sensor few seconds update interval?