diff --git a/frontend/src/lib/timeline/WorldBand.svelte b/frontend/src/lib/timeline/WorldBand.svelte
index 7d71e1fd..5347d352 100644
--- a/frontend/src/lib/timeline/WorldBand.svelte
+++ b/frontend/src/lib/timeline/WorldBand.svelte
@@ -40,10 +40,10 @@ const historical = $derived(m.timeline_layer_historical_suffix());
>
{fromYear}–{toYear}
- · {historical}
{:else if dateText}
- {dateText} · {historical}
- {:else}
- {historical}
+ {dateText}
{/if}
+
+ · {historical}
diff --git a/frontend/src/lib/timeline/WorldBand.svelte.spec.ts b/frontend/src/lib/timeline/WorldBand.svelte.spec.ts
index 0218206f..6af574e6 100644
--- a/frontend/src/lib/timeline/WorldBand.svelte.spec.ts
+++ b/frontend/src/lib/timeline/WorldBand.svelte.spec.ts
@@ -55,6 +55,14 @@ describe('WorldBand', () => {
expect(document.body.textContent).toContain(m.timeline_layer_historical_suffix());
});
+ it('shows "· historisch" with a leading separator even when the band has no date (#833 REQ-009)', () => {
+ render(WorldBand, {
+ entry: historical({ precision: 'UNKNOWN', eventDate: undefined, eventDateEnd: undefined })
+ });
+ expect(document.querySelector('[data-testid="world-range"]')).toBeNull();
+ expect(document.body.textContent).toContain(`· ${m.timeline_layer_historical_suffix()}`);
+ });
+
it('follows the RANGE span pill with inline "· historisch" text, not a second pill (#833 REQ-009)', () => {
render(WorldBand, { entry: historical() });
const pill = document.querySelector('[data-testid="world-range"]');