diff --git a/osu.Game/Overlays/Dialog/PopupDialog.cs b/osu.Game/Overlays/Dialog/PopupDialog.cs
index 9969677826..e1e5604e4c 100644
--- a/osu.Game/Overlays/Dialog/PopupDialog.cs
+++ b/osu.Game/Overlays/Dialog/PopupDialog.cs
@@ -225,7 +225,12 @@ namespace osu.Game.Overlays.Dialog
///
/// Programmatically clicks the first button of the provided type.
///
- public void PerformAction() where T : PopupDialogButton => Buttons.OfType().First().TriggerClick();
+ public void PerformAction() where T : PopupDialogButton
+ {
+ // Buttons are regularly added in BDL or LoadComplete, so let's schedule to ensure
+ // they are ready to be pressed.
+ Schedule(() => Buttons.OfType().First().TriggerClick());
+ }
protected override bool OnKeyDown(KeyDownEvent e)
{