diff --git a/frontend/src/components/queue-panel/queue-panel.ts b/frontend/src/components/queue-panel/queue-panel.ts
index c079ad9..fc720f4 100644
--- a/frontend/src/components/queue-panel/queue-panel.ts
+++ b/frontend/src/components/queue-panel/queue-panel.ts
@@ -15,6 +15,7 @@ import type { PlaylistPicker } from '@components/playlist-picker/playlist-picker
import '@lit-labs/virtualizer';
import type { LitVirtualizer } from '@lit-labs/virtualizer';
import { flow } from '@lit-labs/virtualizer/layouts/flow.js';
+import { repeat } from 'lit/directives/repeat.js';
import type { QueueTrack } from '@store/queue-store';
import { SelectionController } from '@utils/selection-controller';
import type { SelectionHost } from '@utils/selection-controller';
@@ -1282,10 +1283,12 @@ export class QueuePanel
+ >${repeat(
+ tracks,
+ (track) => track.id,
+ (track, index) => this.renderTrackItem(track, index),
+ )}
`}
diff --git a/frontend/src/components/track-list/track-list.ts b/frontend/src/components/track-list/track-list.ts
index 60c343e..488ea21 100644
--- a/frontend/src/components/track-list/track-list.ts
+++ b/frontend/src/components/track-list/track-list.ts
@@ -25,6 +25,7 @@ import {
DEFAULT_COLUMN_IDS,
} from './columns';
import type { ColumnDef } from './columns';
+import { repeat } from 'lit/directives/repeat.js';
import {
rankTracks,
highlightText,
@@ -1736,9 +1737,12 @@ export class TrackList extends LitElement implements SelectionHost, ContextMenuH
+ >${repeat(
+ visibleTracks,
+ (track) => track.FilePath,
+ (track, index) => this.renderTrackRow(track, index),
+ )}
`}
${this.searchCtrl.term && visibleTracks.length > 0