diff --git a/Lib/xml/sax/saxutils.py b/Lib/xml/sax/saxutils.py
index c369f98..049e09c 100644
--- a/Lib/xml/sax/saxutils.py
+++ b/Lib/xml/sax/saxutils.py
@@ -28,10 +28,11 @@
 
     # must do ampersand first
     data = data.replace("&", "&amp;")
-    data = __dict_replace(data, {"<" : "&lt;",
-                                 ">" : "&gt;",
-                                 })
-    return __dict_replace(data, entities)
+    data = data.replace(">", "&gt;")
+    data = data.replace("<", "&lt;")
+    if entities:
+        data = __dict_replace(data, entities)
+    return data
 
 def unescape(data, entities={}):
     """Unescape &amp;, &lt;, and &gt; in a string of data.
@@ -40,12 +41,13 @@
     the optional entities parameter.  The keys and values must all be
     strings; each key will be replaced with its corresponding value.
     """
-    data = __dict_replace(data, {"&lt;"  : "<",
-                                 "&gt;"  : ">",
-                                 })
+    data = data.replace("&lt;", "<")
+    data = data.replace("&gt;", ">")
     # must do ampersand last
     data = data.replace("&amp;", "&")
-    return __dict_replace(data, entities)
+    if entities:
+        data = __dict_replace(data, entities)
+    return data
 
 def quoteattr(data, entities={}):
     """Escape and quote an attribute value.
