diff --git a/Lib/mimetypes.py b/Lib/mimetypes.py
index 6212e78..f0a5ecf 100644
--- a/Lib/mimetypes.py
+++ b/Lib/mimetypes.py
@@ -44,6 +44,7 @@
     ]
 
 inited = False
+_db = None
 
 
 class MimeTypes:
@@ -237,9 +238,9 @@
     Optional `strict' argument when false adds a bunch of commonly found, but
     non-standard types.
     """
-    if not inited:
+    if _db is None:
         init()
-    return guess_type(url, strict)
+    return _db.guess_type(url, strict)
 
 
 def guess_all_extensions(type, strict=True):
@@ -255,9 +256,9 @@
     Optional `strict' argument when false adds a bunch of commonly found,
     but non-standard types.
     """
-    if not inited:
+    if _db is None:
         init()
-    return guess_all_extensions(type, strict)
+    return _db.guess_all_extensions(type, strict)
 
 def guess_extension(type, strict=True):
     """Guess the extension for a file based on its MIME type.
@@ -271,9 +272,9 @@
     Optional `strict' argument when false adds a bunch of commonly found,
     but non-standard types.
     """
-    if not inited:
+    if _db is None:
         init()
-    return guess_extension(type, strict)
+    return _db.guess_extension(type, strict)
 
 def add_type(type, ext, strict=True):
     """Add a mapping between a type and an extension.
@@ -287,16 +288,15 @@
     list of standard types, else to the list of non-standard
     types.
     """
-    if not inited:
+    if _db is None:
         init()
-    return add_type(type, ext, strict)
+    return _db.add_type(type, ext, strict)
 
 
 def init(files=None):
-    global guess_all_extensions, guess_extension, guess_type
     global suffix_map, types_map, encodings_map, common_types
-    global add_type, inited
-    inited = True
+    global inited, _db
+    inited = True    # so that MimeTypes.__init__() doesn't call us again
     db = MimeTypes()
     if files is None:
         files = knownfiles
@@ -306,11 +306,9 @@
     encodings_map = db.encodings_map
     suffix_map = db.suffix_map
     types_map = db.types_map[True]
-    guess_all_extensions = db.guess_all_extensions
-    guess_extension = db.guess_extension
-    guess_type = db.guess_type
-    add_type = db.add_type
     common_types = db.types_map[False]
+    # Make the DB a global variable now that it is fully initialized
+    _db = db
 
 
 def read_mime_types(file):
diff --git a/Misc/NEWS b/Misc/NEWS
index 082612e..24ec692 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -255,6 +255,10 @@
 Library
 -------
 
+- Issue #5853: calling a function of the mimetypes module from several threads
+  at once could hit the recursion limit if the mimetypes database hadn't been
+  initialized before.
+
 - Issue #5854: Updated __all__ to include some missing names and remove some
   names which should not be exported.
 
