Index: options.py
===================================================================
--- options.py	(revision 10142)
+++ options.py	(working copy)
@@ -760,13 +760,12 @@
                 formset = FormSet(instance=self.model(), prefix=prefix)
                 formsets.append(formset)
 
-        adminForm = helpers.AdminForm(form, list(self.get_fieldsets(request)), self.prepopulated_fields)
+        adminForm = helpers.AdminForm(form, list(self.get_fieldsets(request)), self.prepopulated_fields, request)
         media = self.media + adminForm.media
 
         inline_admin_formsets = []
         for inline, formset in zip(self.inline_instances, formsets):
-            fieldsets = list(inline.get_fieldsets(request))
-            inline_admin_formset = helpers.InlineAdminFormSet(inline, formset, fieldsets)
+            inline_admin_formset = helpers.InlineAdminFormSet(inline, formset, request)
             inline_admin_formsets.append(inline_admin_formset)
             media = media + inline_admin_formset.media
 
@@ -853,8 +852,7 @@
 
         inline_admin_formsets = []
         for inline, formset in zip(self.inline_instances, formsets):
-            fieldsets = list(inline.get_fieldsets(request, obj))
-            inline_admin_formset = helpers.InlineAdminFormSet(inline, formset, fieldsets)
+            inline_admin_formset = helpers.InlineAdminFormSet(inline, formset, request)
             inline_admin_formsets.append(inline_admin_formset)
             media = media + inline_admin_formset.media
 
Index: helpers.py
===================================================================
--- helpers.py	(revision 10142)
+++ helpers.py	(working copy)
@@ -104,16 +104,16 @@
     """
     A wrapper around an inline formset for use in the admin system.
     """
-    def __init__(self, inline, formset, fieldsets):
+    def __init__(self, inline, formset, request):
         self.opts = inline
         self.formset = formset
-        self.fieldsets = fieldsets
+        self.request = request
 
     def __iter__(self):
         for form, original in zip(self.formset.initial_forms, self.formset.get_queryset()):
-            yield InlineAdminForm(self.formset, form, self.fieldsets, self.opts.prepopulated_fields, original)
+            yield InlineAdminForm(self.formset, form, self.opts.prepopulated_fields, original, self.request, self.opts)
         for form in self.formset.extra_forms:
-            yield InlineAdminForm(self.formset, form, self.fieldsets, self.opts.prepopulated_fields, None)
+            yield InlineAdminForm(self.formset, form, self.opts.prepopulated_fields, None, self.request, self.opts)
 
     def fields(self):
         fk = getattr(self.formset, "fk", None)
@@ -133,13 +133,14 @@
     """
     A wrapper around an inline form for use in the admin system.
     """
-    def __init__(self, formset, form, fieldsets, prepopulated_fields, original):
+    def __init__(self, formset, form, prepopulated_fields, original, request, opts):
         self.formset = formset
         self.original = original
+        self.request = request
         if original is not None:
             self.original.content_type_id = ContentType.objects.get_for_model(original).pk
         self.show_url = original and hasattr(original, 'get_absolute_url')
-        super(InlineAdminForm, self).__init__(form, fieldsets, prepopulated_fields)
+        super(InlineAdminForm, self).__init__(form, opts.get_fieldsets(request, original), prepopulated_fields)
 
     def __iter__(self):
         for name, options in self.fieldsets:
