diff --git a/libmscore/layout.cpp b/libmscore/layout.cpp
index 44608fc661..17e9401095 100644
--- a/libmscore/layout.cpp
+++ b/libmscore/layout.cpp
@@ -2171,8 +2171,8 @@ static bool breakMultiMeasureRest(Measure* m)
auto sl = m->score()->spannerMap().findOverlapping(m->tick().ticks(), m->endTick().ticks());
for (auto i : sl) {
Spanner* s = i.value;
- // break for first measure of volta and first measure *after* volta
- if (s->isVolta() && (s->tick() == m->tick() || s->tick2() == m->tick()))
+ // break for first measure of volta or textline and first measure *after* volta
+ if ((s->isVolta() || s->isTextLine()) && (s->tick() == m->tick() || s->tick2() == m->tick()))
return true;
}
diff --git a/mtest/libmscore/measure/mmrest-ref.mscx b/mtest/libmscore/measure/mmrest-ref.mscx
index a7ff4f3b9d..0be3d9f813 100644
--- a/mtest/libmscore/measure/mmrest-ref.mscx
+++ b/mtest/libmscore/measure/mmrest-ref.mscx
@@ -97,7 +97,6 @@
-
4
4
@@ -107,19 +106,82 @@
+
+
+
+
+ 1
+ VII
+
+ 0
+
+
+
+
+
+
+ 3
+
+
+
+
+ measure
+ 4/4
+
+
+
+
+ 3
+
+ line
+
+
+
+ measure
+ 12/4
+
+
+
+
+
+
+ measure
+ 4/4
+
+
+
+
+
+ line
+
+
+
+ measure
+ 4/4
+
+
+
+
+
+
+
+
+ -3
+
+
+
+
+ measure
+ 4/4
+
+
+
4
line
-
-
- -1
-
- 4
- 4
-
measure
16/4
diff --git a/mtest/libmscore/measure/mmrest.mscx b/mtest/libmscore/measure/mmrest.mscx
index 790dfbaf9f..3bb220fb94 100644
--- a/mtest/libmscore/measure/mmrest.mscx
+++ b/mtest/libmscore/measure/mmrest.mscx
@@ -105,6 +105,64 @@
+
+
+
+
+ 1
+ VII
+
+ 0
+
+
+
+
+
+
+ 3
+
+
+
+
+ measure
+ 4/4
+
+
+
+
+
+
+ measure
+ 4/4
+
+
+
+
+
+ line
+
+
+
+ measure
+ 4/4
+
+
+
+
+
+
+
+
+ -3
+
+
+
+
+ measure
+ 4/4
+
+
+