diff --git a/django/views/i18n.py b/django/views/i18n.py
index 133c42f..d55d5aa 100644
--- a/django/views/i18n.py
+++ b/django/views/i18n.py
@@ -211,6 +211,7 @@ def javascript_catalog(request, domain='djangojs', packages=None):
                 en_catalog_missing = True
             # Otherwise it is harmless.
             pass
+    paths.extend(settings.LOCALE_PATHS)
     # next load the settings.LANGUAGE_CODE translations if it isn't english
     if default_locale != 'en':
         for path in paths:
diff --git a/tests/regressiontests/views/tests/i18n.py b/tests/regressiontests/views/tests/i18n.py
index de023be..582c2b9 100644
--- a/tests/regressiontests/views/tests/i18n.py
+++ b/tests/regressiontests/views/tests/i18n.py
@@ -1,5 +1,6 @@
 # -*- coding:utf-8 -*-
 import gettext
+import os
 
 from django.conf import settings
 from django.test import TestCase
@@ -136,3 +137,11 @@ class JsI18NTestsMultiPackage(TestCase):
         response = self.client.get('/views/jsi18n_multi_packages2/')
         self.assertContains(response, javascript_quote('este texto de app3 debe ser traducido'))
         deactivate()
+
+    def testI18NWithLocalePaths(self):
+        settings.LANGUAGE_CODE = 'es-ar'
+        self.old_locale_paths = settings.LOCALE_PATHS
+        settings.LOCALE_PATHS += (os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'app3', 'locale'),)
+        response = self.client.get('/views/jsi18n/')
+        self.assertContains(response, javascript_quote('este texto de app3 debe ser traducido'))
+        settings.LOCALE_PATHS = self.old_locale_paths
