Issues with my CFrame Coaster System

Hey! So, big issue currently.

https://gyazo.com/e91f23e646a630a069c7cb893f42a6d7

Notice how the cart seperates for a split second? How can Prevent that? I tried moving it at the same speed on both carts but alas, doesn’t work.

Here’s my code:

local TS = game:GetService("TweenService")

local VEHICLES = 2
local TRACK_LENGTH_DISTANCE = 0

local CURRENT_NODE = 1
local SELECTED_NODE = "Node"..CURRENT_NODE

local DB = false

local CARTS = script.Parent.Carts
local NODES = script.Parent.Nodes

local ALREADYSET = false
local LASTSPEED = 1

local function tweenVehicle(cartNode)
if NODES:FindFirstChild("Node"..CURRENT_NODE) then
	SELECTED_NODE = NODES:FindFirstChild("Node"..CURRENT_NODE)
	CURRENT_NODE += 1
else
	CURRENT_NODE = 0
	SELECTED_NODE = NODES:FindFirstChild("Node"..CURRENT_NODE)
end

if SELECTED_NODE:FindFirstChild("TrackSpeed") and ALREADYSET == false then
	ALREADYSET = true
	LASTSPEED = SELECTED_NODE.TrackSpeed.Value
end

local tweenInfo = TweenInfo.new(
	LASTSPEED, 
	Enum.EasingStyle.Linear,
	Enum.EasingDirection.InOut, 
	0,
	false,
	0
)

local Goal = {} Goal.CFrame = SELECTED_NODE.CFrame
local RideTween = TS:Create(cartNode,tweenInfo,Goal)
RideTween:Play()
end

while wait() do
if DB then return end
DB = true
for _, carts in next, CARTS:GetChildren() do
	tweenVehicle(carts.RideNode)
end
wait(LASTSPEED - 0.1)
ALREADYSET = false
DB = false
end

I desperately need help with this. Thank you.