Won't the
spriteCollection.MeleeWeapon1H.Single(i => i.Name == name).Sprite;
fail to ever get the second weapon?
Yep, you're right =)