La tubería asíncrona no funciona con el sujeto

Tengo el siguiente BehaviorSubject en un servicio:

  isAuthenticated = new BehaviorSubject<boolean>(false);

Y lo estoy usando de la siguiente manera en un componente:

  authenticated: Observable<boolean>;

  constructor(private accountService: AccountService) { }

  ngOnInit() {
    this.authenticated = this.accountService.isAuthenticated.asObservable();
  }

Y en la plantilla hago algo como:

  <li class="login-button" *ngIf="!authenticated | async">
    <a (click)="authenticate()">Log in</a>
  </li>
  <li *ngIf="authenticated | async">
    <a>Logged in</a>
  </li>

El problema es que no veo ninguno de los dosli, aunque se supone que el primero debería aparecer ya que estoy asignando el valor inicial del Sujeto a falso.

¿Qué estoy haciendo mal?

Respuestas a la pregunta(1)

Su respuesta a la pregunta