diff --git a/src/linkahead/common/models.py b/src/linkahead/common/models.py
index 1dbeb802311c7afaea2340af15e49537520ef57f..0dee8239c1130597538936f64b57d75c9d8e4563 100644
--- a/src/linkahead/common/models.py
+++ b/src/linkahead/common/models.py
@@ -3284,6 +3284,7 @@ class Container(list):
 
         if add_to_element is None:
             add_to_element = etree.Element("Entities")
+        noscript_in_supplied_xml = list(add_to_element.iter("noscript"))
 
         for m in self.messages:
             add_to_element.append(m.to_xml())
@@ -3300,6 +3301,11 @@ class Container(list):
                 elem = e.to_xml()
             add_to_element.append(elem)
 
+        # remove noscript elements added by this function
+        for elem in list(add_to_element.iter("noscript")):
+            if elem not in noscript_in_supplied_xml:
+                elem.getparent().remove(elem)
+
         return add_to_element
 
     def get_errors(self):