diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp index 9e3483932b..9635388e55 100644 --- a/src/TextMetrics.cpp +++ b/src/TextMetrics.cpp @@ -1905,10 +1905,11 @@ int TextMetrics::leftMargin(int max_width, // This happens after sections or environments in standard classes. // We have to check the previous layout at same depth. - if (tclass.isDefaultLayout(par.layout()) && pit > 0) { - pit_type prev = text_->depthHook(pit, par.getDepth()); - if (pars[prev < pit ? prev : pit - 1].layout().nextnoindent) - parindent.erase(); + if (tclass.isDefaultLayout(par.layout()) && pit > 0 + && pars[pit - 1].getDepth() >= par.getDepth()) { + pit_type prev = text_->depthHook(pit, par.getDepth()); + if (pars[prev < pit ? prev : pit - 1].layout().nextnoindent) + parindent.erase(); } FontInfo const labelfont = text_->labelFont(par);