.IsLoaded returns true when it shouldn’t after image changes

I use ImageLabel.IsLoaded to smoothly reveal images with a transition instead of them just appearing but I noticed recently that the IsLoaded property can stay true if you set Image to “”. There have been cases where IsLoaded has returned true after I set the image even though it hasn’t successfully loaded yet and I believe this is a regression as this did not occur last month when I made an asset preloading system. One way I have been able to circumvent this is by creating a new ImageLabel (to make .IsLoaded false) and setting the image that way but I find this super inconvenient as I need to delete it later.

Visual Aids:
Apologies for the vague example but it returns true even though I just changed the image. It is false the first time because it had no image originally
20260724_194333s_oS4gQuhqsv

Code example:

ImageLabel.Image = "rbxassetid://1"
print(ImageLabel.IsLoaded) -- false, then turns true when it loads

ImageLabel.Image = "rbxassetid://2"
print(ImageLabel.IsLoaded) -- true, even if not loaded though this does fall back to false next frame

Expected behavior

IsLoaded should be set to false when there is no image instead of staying true when an image is removed. Alternatively, it should not stay true briefly after an image is changed.

1 Like