diff --git a/src/engraving/rendering/score/accidentalslayout.cpp b/src/engraving/rendering/score/accidentalslayout.cpp index e3dfe5397ab0b..c11feecd0693b 100644 --- a/src/engraving/rendering/score/accidentalslayout.cpp +++ b/src/engraving/rendering/score/accidentalslayout.cpp @@ -737,7 +737,9 @@ void AccidentalsLayout::applyOrderingOffsets(std::vector& accidenta // Sort vector std::sort(accidentals.begin(), accidentals.end(), [](const Accidental* acc1, const Accidental* acc2) { - return acc1->stackingOrder() < acc2->stackingOrder(); + int stackingOrder1 = acc1->stackingOrder(); + int stackingOrder2 = acc2->stackingOrder(); + return stackingOrder1 == stackingOrder2 ? acc1->stackingOrderOffset() < acc2->stackingOrderOffset() : stackingOrder1 < stackingOrder2; }); } diff --git a/vtest/scores/accidental-40.mscz b/vtest/scores/accidental-40.mscz new file mode 100644 index 0000000000000..671db928fd35d Binary files /dev/null and b/vtest/scores/accidental-40.mscz differ