Ionic 5: (ionScrollEnd) fired twice

(Ionic 5)
I am trying to build a one-page app which consists of two parts: a map and a list.
Between the map and the list (when viewing the map at the bottom; when viewing the list at the top) is a button which, when pressed, uses ion-content’s scrollToTop() & scrollToBottom().
So far this worked.

So i wanted to add the feature, that when the user scrolls manually into the direction of the map or the list, the page is scrolled into the direction automatically by using scrollToTop() or scrollToBottom().

That’s why i enabled scroll events on ion-content and listen to (ionScroll[Start/End]) like so:

@ViewChild(IonContent, { static: false }) _content: IonContent;

  private onScrollStart()
  {
    this._lastDeltaY = 0;
  }

  private onScrollEnd()
  {
    if(this._ignoreScrolling)
      return;

    let promise;
    this._ignoreScrolling = true;
    if(this._lastDeltaY > 0)
    {
      promise = this.openAView();
    }
    else if(this._lastDeltaY < 0)
    {
      promise = this.openBView();
    }
    promise.then(_ => {
      this._ignoreScrolling = false;
    });
  }

  private onScroll(event)
  {
    this._lastDeltaY = event.detail.deltaY;
  }



 private async openAView()
  {
    console.log('Opening A view...');

    await this._content.scrollToTop(viewChangeScrollTimeMilliseconds);
    this._AViewOpen = false;

    console.log('...done A');
  }

The problem is, that whenever an automatic scroll is done, there will be done a second one right after as i can see in the logs:

Opening A view...
...done A
Opening A view...
...done A

What am i doing wrong here or is this an ionic-bug?

EDIT

When doing the following i realized that (ionScrollEnd) is triggered twice, but only when scrolling to bottom…

  private onScrollEnd()
  {
    console.log('Scroll End');
  }

Just why?..