Only reset _is_empty if needed.
diff --git a/Doc/tools/sgmlconv/esistools.py b/Doc/tools/sgmlconv/esistools.py
index 6c7c0ae..b9c029b 100644
--- a/Doc/tools/sgmlconv/esistools.py
+++ b/Doc/tools/sgmlconv/esistools.py
@@ -166,10 +166,10 @@
         elif token == '(':
             if self._is_empty:
                 self._empties[data] = 1
+                self._is_empty = 0
             if handler:
                 handler.startElement(data, self._attributes)
             self._attrs.clear()
-            self._is_empty = 0
         elif token == 'A':
             name, value = data.split(' ', 1)
             if value != "IMPLIED":