diff --git a/libmscore/chordlist.cpp b/libmscore/chordlist.cpp
index a17bfc1105cae..92d4a7b1748bc 100644
--- a/libmscore/chordlist.cpp
+++ b/libmscore/chordlist.cpp
@@ -1870,7 +1870,7 @@ void ChordList::write(XmlWriter& xml) const
writeRenderList(xml, &renderListRoot, "renderRoot");
}
if (!renderListFunction.empty()) {
- writeRenderList(xml, &renderListRoot, "renderFunction");
+ writeRenderList(xml, &renderListFunction, "renderFunction");
}
if (!renderListBase.empty()) {
writeRenderList(xml, &renderListBase, "renderBase");
diff --git a/libmscore/harmony.cpp b/libmscore/harmony.cpp
index 73dcef2ad1100..16a0017e26871 100644
--- a/libmscore/harmony.cpp
+++ b/libmscore/harmony.cpp
@@ -1288,6 +1288,7 @@ const RealizedHarmony& Harmony::getRealizedHarmony() const
}
//Adjust for Nashville Notation, might be temporary
+ // TODO: set dirty on add/remove of keysig
if (_harmonyType == HarmonyType::NASHVILLE && !_realizedHarmony.valid()) {
Key key = staff()->key(tick());
//parse root
diff --git a/libmscore/realizedharmony.cpp b/libmscore/realizedharmony.cpp
index 481c95cee9849..8dc660aa4fe5a 100644
--- a/libmscore/realizedharmony.cpp
+++ b/libmscore/realizedharmony.cpp
@@ -224,7 +224,9 @@ void RealizedHarmony::update(int rootTpc, int bassTpc, int transposeOffset /*= 0
return;
}
- _notes = generateNotes(rootTpc, bassTpc, _literal, _voicing, transposeOffset);
+ if (tpcIsValid(rootTpc)) {
+ _notes = generateNotes(rootTpc, bassTpc, _literal, _voicing, transposeOffset);
+ }
_dirty = false;
}
diff --git a/share/styles/chords_jazz.xml b/share/styles/chords_jazz.xml
index 9736530754850..1d4ee57fca82c 100644
--- a/share/styles/chords_jazz.xml
+++ b/share/styles/chords_jazz.xml
@@ -455,6 +455,7 @@
:n :a
+ :a :n
/ m:0:1 :n :a m:0:-1