this is because of fairly confusing logic, when an SRGB image has a float buffer added its always LINEAR, so we have to account for this elsewhere. So the conversion from byte to float works like this: * NONE -> NON-LINEAR * SRGB/LINEAR -> LINEAR ...but none change the profile variable.