Index: django/contrib/admin/sites.py
===================================================================
--- django/contrib/admin/sites.py       (revision 5988)
+++ django/contrib/admin/sites.py       (working copy)
@@ -9,6 +9,7 @@
 import cPickle as pickle
 import datetime
 import md5
+import re

 ERROR_MESSAGE = ugettext_lazy("Please enter a correct username and password. Note that both fields are case-sensitive.")
 LOGIN_FORM_KEY = 'this_is_the_login_form'
@@ -110,6 +111,8 @@

         if not self.has_permission(request):
             return self.login(request)
+
+        user_change_password = re.compile('auth/user/(\d+)/password')

         if url == '':
             return self.index(request)
@@ -119,6 +122,9 @@
             return self.password_change_done(request)
         elif url == 'jsi18n':
             return self.i18n_javascript(request)
+        elif user_change_password.match(url):
+            m = user_change_password.match(url)
+            return self.user_change_password(request, m.group(1))
         elif '/' in url:
             return self.model_page(request, *url.split('/', 2))

@@ -153,6 +159,13 @@
         from django.contrib.auth.views import password_change_done
         return password_change_done(request)

+    def user_change_password(self, request, id):
+        """
+        Handles the "user change password" task
+        """
+        from django.contrib.admin.views.auth import user_change_password
+        return user_change_password(request, id)
+
     def i18n_javascript(self, request):
         """
         Displays the i18n JavaScript that the Django admin requires. 
