diff --git a/OpenRA.Game/PlayerProfile.cs b/OpenRA.Game/PlayerProfile.cs index 8b3edd026a..6d1bded77b 100644 --- a/OpenRA.Game/PlayerProfile.cs +++ b/OpenRA.Game/PlayerProfile.cs @@ -35,19 +35,20 @@ namespace OpenRA var badgesNode = yaml.Nodes.FirstOrDefault(n => n.Key == "Badges"); if (badgesNode != null) { - try + var playerDatabase = Game.ModData.Manifest.Get(); + foreach (var badgeNode in badgesNode.Value.Nodes) { - var playerDatabase = Game.ModData.Manifest.Get(); - foreach (var badgeNode in badgesNode.Value.Nodes) + Game.RunAfterTick(() => { - var badge = playerDatabase.LoadBadge(badgeNode.Value); - if (badge != null) - badges.Add(badge); - } - } - catch - { - // Discard badges on error + // Discard badge on error + try + { + var badge = playerDatabase.LoadBadge(badgeNode.Value); + if (badge != null) + badges.Add(badge); + } + catch { } + }); } }