Loading character by user ID

I’m currently working on a GUI based leaderboard for my game, and I want to display the #1 player on the side of the leaderboard, I’ve gotten this almost done, but when you load a character THREE things are wrong, that I know of: some accessories are in the wrong places (see the picture, my mask is over my eyes instead mouth), the face doesn’t load in, and the head mesh doesn’t load in. The code I’m using to load the characters is this:

local function LoadPlayerIntoFrame(userid, frame)

	coroutine.resume(coroutine.create(function()

		local dummy = script.Dummy:Clone()
		local appearance = game.Players:GetHumanoidDescriptionFromUserId(userid)
		dummy.Parent = frame
		dummy.Humanoid:ApplyDescription(appearance)

		local anim = dummy.Humanoid:LoadAnimation(script.DanceAnim)
		anim:Play()
	end))
end

How would I go about solving these problems? I’ve tried to use :AddAccessory() on the characters, tried using :GetCharacterAppearanceAsync() and parenting everything one by one, and even tried this function from Merely all to no avail for all of the problems entirely.

Picture

Are you checking if it’s R15 or R6? I’m not sure if that’d be the problem, but maybe?