Index: contrib/admin/templatetags/admin_modify.py
===================================================================
--- contrib/admin/templatetags/admin_modify.py	(revision 6442)
+++ contrib/admin/templatetags/admin_modify.py	(working copy)
@@ -28,8 +28,12 @@
                             and 'onclick="submitOrderForm();"' or ''),
         'show_delete_link': (not is_popup and context['has_delete_permission']
                               and (change or context['show_delete'])),
-        'show_save_as_new': not is_popup and change and save_as,
-        'show_save_and_add_another': not is_popup and (not save_as or context['add']),
+        'show_save_as_new': (not is_popup and change and save_as
+                              and context.has_key('has_add_permission')
+                              and context['has_add_permission']),
+        'show_save_and_add_another': (not is_popup and (not save_as or context['add'])
+                                        and context.has_key('has_add_permission')
+                                        and context['has_add_permission']),
         'show_save_and_continue': not is_popup and context['has_change_permission'],
         'show_save': True
     }
Index: contrib/admin/views/main.py
===================================================================
--- contrib/admin/views/main.py	(revision 6442)
+++ contrib/admin/views/main.py	(working copy)
@@ -119,6 +119,7 @@
     extra_context = {
         'add': add,
         'change': change,
+        'has_add_permission': context['perms'][app_label][opts.get_add_permission()],
         'has_delete_permission': context['perms'][app_label][opts.get_delete_permission()],
         'has_change_permission': context['perms'][app_label][opts.get_change_permission()],
         'has_file_field': True, # FIXME - this should check if form or formsets have a FileField,
