@gaye Ah, you may have taken more literally than I intended.  I think my exact proposal was that we listen to the 'onsplice' notifications.  This was more clear-cut in message_list.js where we already process them and it's trivial to check if we are removing our current message, especially since we then know what index we are at.  If our current message gets removed, the idea was that we then choose an arbitrary but consistent choice of the preceding or following message (possibly based on our most recent movement direction if we want to get fancy).  I can totally believe that I might have said 'random' to spice up arbitrary.

Since we are not doing this in the message_list, but in our own place, the best way to address this would be to do something like:
```
this.messagesSlice.onremove = function(removedHeader, removedFromIndex) {
  if (removedHeader === this.currentMessage) {
    if (this.messagesSlice.items.length === 0) {
      this.currentMessage = null;
    }
    // bias towards newer messages unless there is no newer message
    else if (removedFromIndex >= this.messagesSlice.items.length) {
      this.currentMessage = this.messagesSlice.items[removedFromIndex - 1];
    }
    else {
      this.currentMessage = this.messagesSlice.items[removedFromIndex];
    }
  }
}.bind(this);
```