Tweenservice making gui flicker?

i was using tweenservice to fade colors smoothly together. however, i noticed when i do, after the tween is done it flickers back to the color it originally was then plays the tween again. i don’t think anything in my script would even allow that, which is strange.

here’s a visual of it happening: (potential seizure warning?)
https://puu.sh/GnRTU/cb9eb2a4a8.mp4

here is the script in its entierty:

local tweenserv = game:GetService("TweenService")
script.Parent:WaitForChild("main"):WaitForChild("diamondbuttons")
local authoritybuttons = {
	white = script.Parent.main.diamondbuttons:WaitForChild("white"):WaitForChild("btn"),
	yellow = script.Parent.main.diamondbuttons:WaitForChild("yellow"):WaitForChild("btn"),
	blue = script.Parent.main.diamondbuttons:WaitForChild("blue"):WaitForChild("btn"),
	pink = script.Parent.main.diamondbuttons:WaitForChild("pink"):WaitForChild("btn")
}
local tweenfo = TweenInfo.new(1, Enum.EasingStyle.Back, Enum.EasingDirection.Out, 1, false, 0)
local tweens = { --it flickers between colors otherwise and i hate that
	white = tweenserv:Create(script.Parent.main, tweenfo, {ImageColor3 = Color3.fromRGB(255, 255, 255)}),
	yellow = tweenserv:Create(script.Parent.main, tweenfo, {ImageColor3 = Color3.fromRGB(255, 255, 184)}),
	blue = tweenserv:Create(script.Parent.main, tweenfo, {ImageColor3 = Color3.fromRGB(151, 242, 255)}),
	pink = tweenserv:Create(script.Parent.main, tweenfo, {ImageColor3 = Color3.fromRGB(249, 163, 254)})
}
local function changebgcolor(guiname)
	for i, tw in pairs(tweens) do
		if tw.PlaybackState == Enum.PlaybackState.Playing then tw:Cancel() end
	end
	tweens[guiname]:Play()
end

print(authoritybuttons.white.AbsoluteSize.Y)
local fontsize = authoritybuttons.white.AbsoluteSize.Y/2
for i, v in pairs(authoritybuttons) do
	v.TextSize = fontsize
	v.MouseButton1Click:Connect(function()
		changebgcolor(v.Parent.Name)
	end)
end

i have no idea why this is happening i just want my eyes to not die for a frame

You’ve set the repeatCount (4th argument of TweenInfo) to 1, so it repeats the tween one time which would cause that flicker.

To fix it, you’d set it to 0, which would make it repeat 0 times.

oh my gosh that’s why. im so stupid thank you i thought it just made it happen once haha