diff --git a/src/output_xhtml.cpp b/src/output_xhtml.cpp
index 1d604183d5..52e78d19c3 100644
--- a/src/output_xhtml.cpp
+++ b/src/output_xhtml.cpp
@@ -684,7 +684,8 @@ ParagraphList::const_iterator makeParagraphs(Buffer const & buf,
for (; par != pend; ++par) {
Layout const & lay = par->layout();
if (!lay.counter.empty())
- buf.params().documentClass().counters().step(lay.counter, OutputUpdate);
+ buf.masterBuffer()->params().
+ documentClass().counters().step(lay.counter, OutputUpdate);
// FIXME We should see if there's a label to be output and
// do something with it.
if (par != pbegin)
@@ -778,7 +779,7 @@ ParagraphList::const_iterator makeEnvironmentHtml(Buffer const & buf,
// FIXME There may be a bug here about user defined enumeration
// types. If so, then we'll need to take the counter and add "i",
// "ii", etc, as with enum.
- Counters & cnts = buf.params().documentClass().counters();
+ Counters & cnts = buf.masterBuffer()->params().documentClass().counters();
docstring const & cntr = style.counter;
if (!style.counter.empty()
&& (par == pbegin || !isNormalEnv(style))
@@ -902,7 +903,8 @@ void makeCommand(Buffer const & buf,
{
Layout const & style = pbegin->layout();
if (!style.counter.empty())
- buf.params().documentClass().counters().step(style.counter, OutputUpdate);
+ buf.masterBuffer()->params().
+ documentClass().counters().step(style.counter, OutputUpdate);
openTag(xs, style, pbegin->params());
diff --git a/status.20x b/status.20x
index f7b50c1483..ca3e680126 100644
--- a/status.20x
+++ b/status.20x
@@ -114,6 +114,8 @@ What's new
- Fix lyx2lyx bug with non-ASCII layout file names (Debian bug 700828).
+- Reset counters properly when outputting included XHTML files (bug 8598).
+
* USER INTERFACE