diff --git a/django/contrib/sitemaps/tests/basic.py b/django/contrib/sitemaps/tests/basic.py
index 775e0d9..bee5676 100644
--- a/django/contrib/sitemaps/tests/basic.py
+++ b/django/contrib/sitemaps/tests/basic.py
@@ -182,3 +182,14 @@ class SitemapTests(TestCase):
             return isinstance(url['item'], User)
         item_in_url_info = all(map(is_user, user_sitemap.get_urls()))
         self.assertTrue(item_in_url_info)
+
+    def test_cached_sitemap_index(self):
+        "A cached sitemap index can be rendered"
+        # Retrieve the sitemap.
+        response = self.client.get('/cached/index.xml')
+        # Check for all the important bits:
+        self.assertEqual(response.content, """<?xml version="1.0" encoding="UTF-8"?>
+<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
+<sitemap><loc>%s/cached/sitemap-simple.xml</loc></sitemap>
+</sitemapindex>
+""" % self.base_url)
diff --git a/django/contrib/sitemaps/tests/urls.py b/django/contrib/sitemaps/tests/urls.py
index c264f94..2ebad20 100644
--- a/django/contrib/sitemaps/tests/urls.py
+++ b/django/contrib/sitemaps/tests/urls.py
@@ -1,7 +1,9 @@
 from datetime import datetime
-from django.conf.urls import patterns
+from django.conf.urls import patterns, url
 from django.contrib.sitemaps import Sitemap, GenericSitemap, FlatPageSitemap
 from django.contrib.auth.models import User
+from django.views.decorators.cache import cache_page
+from django.contrib.sitemaps import views
 
 class SimpleSitemap(Sitemap):
     changefreq = "never"
@@ -34,4 +36,13 @@ urlpatterns = patterns('django.contrib.sitemaps.views',
     (r'^simple/custom-sitemap\.xml$', 'sitemap', {'sitemaps': simple_sitemaps, 'template_name': 'custom_sitemap.xml'}),
     (r'^generic/sitemap\.xml$', 'sitemap', {'sitemaps': generic_sitemaps}),
     (r'^flatpages/sitemap\.xml$', 'sitemap', {'sitemaps': flatpage_sitemaps}),
+    (r'^cached/index\.xml$', cache_page(views.index, 1), {
+        'sitemaps': simple_sitemaps,
+        'sitemap_url_name': 'sitemaps.views.sitemap'
+        }),
+    url(r'^cached/sitemap-(?P<section>.+)\.xml',
+        cache_page(views.sitemap, 1), {
+            'sitemaps': simple_sitemaps
+        },
+        name='sitemaps.views.sitemap')
 )
diff --git a/django/contrib/sitemaps/views.py b/django/contrib/sitemaps/views.py
index d82146c..8a3c041 100644
--- a/django/contrib/sitemaps/views.py
+++ b/django/contrib/sitemaps/views.py
@@ -6,7 +6,8 @@ from django.template.response import TemplateResponse
 from django.contrib.sites.models import get_current_site
 
 def index(request, sitemaps,
-        template_name='sitemap_index.xml', mimetype='application/xml'):
+        template_name='sitemap_index.xml', mimetype='application/xml',
+        sitemap_url_name='django.contrib.sitemaps.views.sitemap'):
     current_site = get_current_site(request)
     sites = []
     protocol = request.is_secure() and 'https' or 'http'
@@ -16,7 +17,7 @@ def index(request, sitemaps,
             pages = site().paginator.num_pages
         else:
             pages = site.paginator.num_pages
-        sitemap_url = urlresolvers.reverse('django.contrib.sitemaps.views.sitemap', kwargs={'section': section})
+        sitemap_url = urlresolvers.reverse(sitemap_url_name, kwargs={'section': section})
         sites.append('%s://%s%s' % (protocol, current_site.domain, sitemap_url))
         if pages > 1:
             for page in range(2, pages+1):
