diff --git a/Lib/gettext.py b/Lib/gettext.py
index 4c957c0..f9392d8 100644
--- a/Lib/gettext.py
+++ b/Lib/gettext.py
@@ -419,7 +419,7 @@
     # once.
     result = None
     for mofile in mofiles:
-        key = os.path.abspath(mofile)
+        key = (class_, os.path.abspath(mofile))
         t = _translations.get(key)
         if t is None:
             with open(mofile, 'rb') as fp:
diff --git a/Lib/test/test_gettext.py b/Lib/test/test_gettext.py
index d667819..69ffcb7 100644
--- a/Lib/test/test_gettext.py
+++ b/Lib/test/test_gettext.py
@@ -335,6 +335,37 @@
            'John Doe <jdoe@example.com>\nJane Foobar <jfoobar@example.com>')
 
 
+class DummyGNUTranslations(gettext.GNUTranslations):
+    def foo(self):
+        return 'foo'
+
+
+class GettextCacheTestCase(GettextBaseTest):
+    def test_cache(self):
+        self.localedir = os.curdir
+        self.mofile = MOFILE
+
+        self.assertEqual(len(gettext._translations), 0)
+
+        t = gettext.translation('gettext', self.localedir)
+
+        self.assertEqual(len(gettext._translations), 1)
+
+        t = gettext.translation('gettext', self.localedir,
+                                class_=DummyGNUTranslations)
+
+        self.assertEqual(len(gettext._translations), 2)
+        self.assertEqual(t.__class__, DummyGNUTranslations)
+
+        # Calling it again doesn't add to the cache
+
+        t = gettext.translation('gettext', self.localedir,
+                                class_=DummyGNUTranslations)
+
+        self.assertEqual(len(gettext._translations), 2)
+        self.assertEqual(t.__class__, DummyGNUTranslations)
+
+
 def test_main():
     support.run_unittest(__name__)
 
diff --git a/Misc/NEWS b/Misc/NEWS
index 3dfff9b..a0d30af 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -88,6 +88,9 @@
 Library
 -------
 
+- Issue #9042: Fix interaction of custom translation classes and caching in
+  gettext.
+
 - Issue 6706: asyncore.dispatcher now provides a handle_accepted() method 
   returning a (sock, addr) pair which is called when a connection has been
   established with a new remote endpoint. This is supposed to be used as a 
