diff --git a/Lib/test/test_xml_etree.py b/Lib/test/test_xml_etree.py
index 9746934..68dd1cc 100644
--- a/Lib/test/test_xml_etree.py
+++ b/Lib/test/test_xml_etree.py
@@ -1904,6 +1904,10 @@
         tree = ET.ElementTree(None)
         self.assertRaises(AttributeError, tree.iter)
 
+        # Issue #16913
+        doc = ET.XML("<root>a&amp;<sub>b&amp;</sub>c&amp;</root>")
+        self.assertEqual(''.join(doc.itertext()), 'a&b&c&')
+
     def test_corners(self):
         # single root, no subelements
         a = ET.Element('a')
diff --git a/Misc/NEWS b/Misc/NEWS
index 0c1be46..fcd8694 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -348,6 +348,8 @@
 - Issue #16089: Allow ElementTree.TreeBuilder to work again with a non-Element
   element_factory (fixes a regression in SimpleTAL).
 
+- Issue #16913: Fix Element.itertext()'s handling of text with XML entities.
+
 - Issue #16034: Fix performance regressions in the new `bz2.BZ2File`
   implementation.  Initial patch by Serhiy Storchaka.
 
diff --git a/Modules/_elementtree.c b/Modules/_elementtree.c
index 4b53037..2129fc2 100644
--- a/Modules/_elementtree.c
+++ b/Modules/_elementtree.c
@@ -2017,7 +2017,9 @@
                     PyObject_RichCompareBool(it->root_element->tag,
                                              it->sought_tag, Py_EQ) == 1) {
                     if (it->gettext) {
-                        PyObject *text = JOIN_OBJ(it->root_element->text);
+                        PyObject *text = element_get_text(it->root_element);
+                        if (!text)
+                            return NULL;
                         if (PyObject_IsTrue(text)) {
                             Py_INCREF(text);
                             return text;
@@ -2047,7 +2049,9 @@
             }
 
             if (it->gettext) {
-                PyObject *text = JOIN_OBJ(child->text);
+                PyObject *text = element_get_text(child);
+                if (!text)
+                    return NULL;
                 if (PyObject_IsTrue(text)) {
                     Py_INCREF(text);
                     return text;
@@ -2062,8 +2066,15 @@
                 continue;
         }
         else {
-            PyObject *tail = it->gettext ? JOIN_OBJ(cur_parent->tail) : Py_None;            
+            PyObject *tail;
             ParentLocator *next = it->parent_stack->next;
+            if (it->gettext) {
+                tail = element_get_tail(cur_parent);
+                if (!tail)
+                    return NULL;
+            }
+            else
+                tail = Py_None;
             Py_XDECREF(it->parent_stack->parent);
             PyObject_Free(it->parent_stack);
             it->parent_stack = next;
