Operating system: Linux-4.15.0-112-generic-x86_64-with-debian-stretch-sid 64 Bits
Graphics card: GeForce GTX 980/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 410.48
Broken: version: 2.91.0 Alpha, branch: master, commit date: 2020-08-20 18:28, hash: rBce0bcd5fbf40
Also broken: 2.83.5, 2.83.4, 2.82, 2.81, 2.80
Short description of error
When using the up arrow to move a face map from the top of the list directly to the bottom, it appears in the UI that the face map has been moved to the bottom of the list and all other face maps have been moved up by one position. However the actual behaviour seems to be to swap the top and bottom elements of the list, and to leave the other face maps in the same position in the list. In practice this means that all the face maps (except the one that was moved) are now incorrectly named in the UI.
The same problem occurs in reverse when using the down arrow to shift a face map from the bottom of the list to the top.
Re-ordering the elements up and down within the list without pushing them off the end seems fine.
Exact steps for others to reproduce the error
The attached .blend file contains a Suzanne with four face maps, for the left and right ears and eyes, all named appropriately*.
If you use the down arrow to move "Left Ear" from the bottom of the list directly to the top, then the other three face maps are now named incorrectly.
*(Edit: Note that 'left' and 'right' are from the perspective of the person looking at the suzanne face-to-face, not from the perspective of the suzanne itself. So admittedly the naming is perhaps less clear than I thought at the time, but the file is still a good example for the problem)