Objects get deleted when parented to newly cloned viewport frames

Here’s the code:

local realHaloFolder = workspace:WaitForChild("Halo")
local haloFrame = normalShopPages:WaitForChild("Halo")
local haloList = haloFrame:WaitForChild("List")
local cell = haloList:WaitForChild("Cell")

for _, halo in pairs(realHaloFolder:GetChildren()) do
	local cell = cell:Clone()

	halo.Parent = cell.ViewportFrame
	cell.Parent = haloList

There is no :Destroy() anywhere else in the script. This is the last thing in the script. After it runs I look in the “haloList” to find this in every cell:
There is no object inside of the viewport frame

This is the folder of halos:

Again, I clone a cell for ever physical halo in “Halo” folder and then parent that halo to the cell’s viewport frame and proceed to parent that cell to the halo list; but there is no halo in any of the view port frames after I start the game.

I figured it out, I wasn’t waiting for all the halos to load in…woops.