diff --git a/util/local_database/xpathlite.py b/util/local_database/xpathlite.py
index ecf1dad44453e9b9c96a7331ba344798cc4bfe86..39402058c62932753419ca353dd70a8a9a769b57 100644
--- a/util/local_database/xpathlite.py
+++ b/util/local_database/xpathlite.py
@@ -36,8 +36,6 @@ import sys
 import os
 import xml.dom.minidom
 
-doc_cache = {}
-
 class DraftResolution:
     # See http://www.unicode.org/cldr/process.html for description
     unconfirmed = 'unconfirmed'
@@ -56,6 +54,12 @@ class Error:
     def __str__(self):
         return self.msg
 
+doc_cache = {}
+def parseDoc(file):
+    if not doc_cache.has_key(file):
+        doc_cache[file] = xml.dom.minidom.parse(file)
+    return doc_cache[file]
+
 def findChild(parent, tag_name, arg_name=None, arg_value=None, draft=None):
     for node in parent.childNodes:
         if node.nodeType != node.ELEMENT_NODE:
@@ -80,12 +84,7 @@ def findChild(parent, tag_name, arg_name=None, arg_value=None, draft=None):
     return False
 
 def findTagsInFile(file, path):
-    doc = False
-    if doc_cache.has_key(file):
-        doc = doc_cache[file]
-    else:
-        doc = xml.dom.minidom.parse(file)
-        doc_cache[file] = doc
+    doc = parseDoc(file)
 
     elt = doc.documentElement
     tag_spec_list = path.split("/")
@@ -122,12 +121,7 @@ def findTagsInFile(file, path):
     return ret
 
 def _findEntryInFile(file, path, draft=None, attribute=None):
-    doc = False
-    if doc_cache.has_key(file):
-        doc = doc_cache[file]
-    else:
-        doc = xml.dom.minidom.parse(file)
-        doc_cache[file] = doc
+    doc = parseDoc(file)
 
     elt = doc.documentElement
     tag_spec_list = path.split("/")
@@ -177,12 +171,7 @@ def _findEntryInFile(file, path, draft=None, attribute=None):
     return (None, None)
 
 def findAlias(file):
-    doc = False
-    if doc_cache.has_key(file):
-        doc = doc_cache[file]
-    else:
-        doc = xml.dom.minidom.parse(file)
-        doc_cache[file] = doc
+    doc = parseDoc(file)
 
     alias_elt = findChild(doc.documentElement, "alias")
     if not alias_elt: