diff --git a/src/engraving/dom/chord.cpp b/src/engraving/dom/chord.cpp index 0f7d8e58d3873..8171bf3cb2788 100644 --- a/src/engraving/dom/chord.cpp +++ b/src/engraving/dom/chord.cpp @@ -1420,7 +1420,7 @@ double Chord::calcDefaultStemLength() // when the chord's magnitude is < 1, the stem length with mag can find itself below the middle line. // in those cases, we have to add the extra amount to it to bring it to a minimum. double upValue = m_up ? -1. : 1.; - double stemStart = startNote->pos().y(); + double stemStart = startNote->ldata()->pos().y(); double stemEndMag = stemStart + (finalStemLength * upValue); double topLine = 0.0; lineDistance *= _spatium; diff --git a/src/engraving/rendering/dev/beamtremololayout.cpp b/src/engraving/rendering/dev/beamtremololayout.cpp index 5ac05c6f4bcbe..c924ea9b3fa18 100644 --- a/src/engraving/rendering/dev/beamtremololayout.cpp +++ b/src/engraving/rendering/dev/beamtremololayout.cpp @@ -1085,7 +1085,7 @@ double BeamTremoloLayout::chordBeamAnchorY(const ChordRest* cr) const return y + chord->pagePos().y(); } - return position.y() + (chord->defaultStemLength() * upValue) - beamOffset; + return position.y() - note->offset().y() + (chord->defaultStemLength() * upValue) - beamOffset; } PointF BeamTremoloLayout::chordBeamAnchor(const ChordRest* cr, ChordBeamAnchorType anchorType) const diff --git a/vtest/scores/notehead-offset.mscz b/vtest/scores/notehead-offset.mscz new file mode 100644 index 0000000000000..e5f86dbd6809a Binary files /dev/null and b/vtest/scores/notehead-offset.mscz differ