diff --git a/src/panels/media-browser/hui-dialog-select-media-player.ts b/src/panels/media-browser/hui-dialog-select-media-player.ts
index d19cebe0ee..03b53b6a2d 100644
--- a/src/panels/media-browser/hui-dialog-select-media-player.ts
+++ b/src/panels/media-browser/hui-dialog-select-media-player.ts
@@ -10,10 +10,12 @@ import {
TemplateResult,
} from "lit-element";
import { fireEvent } from "../../common/dom/fire_event";
+import { computeStateName } from "../../common/entity/compute_state_name";
+import { compare } from "../../common/string/compare";
import { createCloseHeading } from "../../components/ha-dialog";
import { BROWSER_SOURCE } from "../../data/media-player";
-import type { HomeAssistant } from "../../types";
import { haStyleDialog } from "../../resources/styles";
+import type { HomeAssistant } from "../../types";
import type { SelectMediaPlayerDialogParams } from "./show-select-media-source-dialog";
@customElement("hui-dialog-select-media-player")
@@ -55,13 +57,15 @@ export class HuiDialogSelectMediaPlayer extends LitElement {
"ui.components.media-browser.web-browser"
)}
- ${this._params.mediaSources.map(
- (source) => html`
- ${source.attributes.friendly_name}
- `
- )}
+ ${this._params.mediaSources
+ .sort((a, b) => compare(computeStateName(a), computeStateName(b)))
+ .map(
+ (source) => html`
+ ${computeStateName(source)}
+ `
+ )}
`;