the random number also changes.
This is happening because you’re accessing the random node twice (when getting a light out of the array) which could give you 2 different results. Store the result of the random operation in a variable and then use that instead.
To be more precise: you’re accessing it during Timeline’s update, generating borderline inconsistent results. The above solution should sort it out. Set an int between Delay and Set Visibility.