Index: django/contrib/admin/templates/admin/change_list.html
===================================================================
--- django/contrib/admin/templates/admin/change_list.html	(revision 16025)
+++ django/contrib/admin/templates/admin/change_list.html	(working copy)
@@ -43,7 +43,7 @@
       </a>
        &rsaquo;
        <a href="../">
-         {{ app_label|capfirst }}
+         {{ app_label.title|capfirst }}
       </a>
       &rsaquo;
       {{ cl.opts.verbose_name_plural|capfirst }}
Index: django/contrib/admin/templates/admin/delete_selected_confirmation.html
===================================================================
--- django/contrib/admin/templates/admin/delete_selected_confirmation.html	(revision 16025)
+++ django/contrib/admin/templates/admin/delete_selected_confirmation.html	(working copy)
@@ -4,7 +4,7 @@
 {% block breadcrumbs %}
 <div class="breadcrumbs">
      <a href="../../">{% trans "Home" %}</a> &rsaquo;
-     <a href="../">{{ app_label|capfirst }}</a> &rsaquo;
+     <a href="../">{{ app_label.title|capfirst }}</a> &rsaquo;
      <a href="./">{{ opts.verbose_name_plural|capfirst }}</a> &rsaquo;
      {% trans 'Delete multiple objects' %}
 </div>
Index: django/contrib/admin/templates/admin/object_history.html
===================================================================
--- django/contrib/admin/templates/admin/object_history.html	(revision 16025)
+++ django/contrib/admin/templates/admin/object_history.html	(working copy)
@@ -4,7 +4,7 @@
 {% block breadcrumbs %}
 <div class="breadcrumbs">
     <a href="../../../../">{% trans 'Home' %}</a> &rsaquo; 
-    <a href="../../../">{{ app_label|capfirst }}</a> &rsaquo; 
+    <a href="../../../">{{ app_label.title|capfirst }}</a> &rsaquo; 
     <a href="../../">{{ module_name }}</a> &rsaquo; 
     <a href="../">{{ object|truncatewords:"18" }}</a> &rsaquo; 
     {% trans 'History' %}
Index: django/contrib/admin/templates/admin/auth/user/change_password.html
===================================================================
--- django/contrib/admin/templates/admin/auth/user/change_password.html	(revision 16025)
+++ django/contrib/admin/templates/admin/auth/user/change_password.html	(working copy)
@@ -10,7 +10,7 @@
 {% block breadcrumbs %}{% if not is_popup %}
 <div class="breadcrumbs">
      <a href="../../../../">{% trans "Home" %}</a> &rsaquo;
-     <a href="../../../">{{ opts.app_label|capfirst|escape }}</a> &rsaquo;
+     <a href="../../../">{{ opts.app_label.title|capfirst|escape }}</a> &rsaquo;
      <a href="../../">{{ opts.verbose_name_plural|capfirst }}</a> &rsaquo;
      <a href="../">{{ original|truncatewords:"18" }}</a> &rsaquo;
      {% trans 'Change password' %}
Index: django/contrib/admin/templates/admin/change_form.html
===================================================================
--- django/contrib/admin/templates/admin/change_form.html	(revision 16025)
+++ django/contrib/admin/templates/admin/change_form.html	(working copy)
@@ -17,7 +17,7 @@
 {% block breadcrumbs %}{% if not is_popup %}
 <div class="breadcrumbs">
      <a href="../../../">{% trans "Home" %}</a> &rsaquo;
-     <a href="../../">{{ app_label|capfirst|escape }}</a> &rsaquo;
+     <a href="../../">{{ app_label.title|capfirst|escape }}</a> &rsaquo;
      {% if has_change_permission %}<a href="../">{{ opts.verbose_name_plural|capfirst }}</a>{% else %}{{ opts.verbose_name_plural|capfirst }}{% endif %} &rsaquo;
      {% if add %}{% trans "Add" %} {{ opts.verbose_name }}{% else %}{{ original|truncatewords:"18" }}{% endif %}
 </div>
Index: django/contrib/admin/templates/admin/delete_confirmation.html
===================================================================
--- django/contrib/admin/templates/admin/delete_confirmation.html	(revision 16025)
+++ django/contrib/admin/templates/admin/delete_confirmation.html	(working copy)
@@ -4,7 +4,7 @@
 {% block breadcrumbs %}
 <div class="breadcrumbs">
      <a href="../../../../">{% trans "Home" %}</a> &rsaquo;
-     <a href="../../../">{{ app_label|capfirst }}</a> &rsaquo; 
+     <a href="../../../">{{ app_label.title|capfirst }}</a> &rsaquo; 
      <a href="../../">{{ opts.verbose_name_plural|capfirst }}</a> &rsaquo;
      <a href="../">{{ object|truncatewords:"18" }}</a> &rsaquo;
      {% trans 'Delete' %}
Index: django/contrib/admin/util.py
===================================================================
--- django/contrib/admin/util.py	(revision 16025)
+++ django/contrib/admin/util.py	(working copy)
@@ -385,3 +385,15 @@
         return limit_choices_to # already a Q
     else:
         return models.Q(**limit_choices_to) # convert dict to Q
+
+
+class AppLabel(str):
+    def __new__(cls,value,title=None):
+        obj = str.__new__(cls, value)
+        obj._my_title = title
+        return obj
+
+    def title(self):
+        if self._my_title is not None:
+            return self._my_title
+        return super(AppLabel,self).title()
Index: django/contrib/admin/sites.py
===================================================================
--- django/contrib/admin/sites.py	(revision 16025)
+++ django/contrib/admin/sites.py	(working copy)
@@ -388,6 +388,7 @@
         app_dict = {}
         for model, model_admin in self._registry.items():
             if app_label == model._meta.app_label:
+                app_label = model._meta.app_label
                 if has_module_perms:
                     perms = model_admin.get_model_perms(request)
 
@@ -416,7 +417,7 @@
         # Sort the models alphabetically within each app.
         app_dict['models'].sort(key=lambda x: x['name'])
         context = {
-            'title': _('%s administration') % capfirst(app_label),
+            'title': _('%s administration') % (app_label.title()),
             'app_list': [app_dict],
             'root_path': self.root_path,
         }
