Index: E:/Software/workspace/django-newforms-admin/django/contrib/admin/options.py
===================================================================
--- E:/Software/workspace/django-newforms-admin/django/contrib/admin/options.py	(revision 7700)
+++ E:/Software/workspace/django-newforms-admin/django/contrib/admin/options.py	(working copy)
@@ -148,6 +148,11 @@
         # doesn't work on ModelAdmin classes yet.
         if self.fieldsets and self.fields:
             raise ImproperlyConfigured('Both fieldsets and fields is specified for %s.' % self.model)
+        # Detect potential duplicate fields in fieldsets declaration. Raise an exception if a duplicate is found.
+        if self.fieldsets:
+            flattened_fieldsets = flatten_fieldsets(self.fieldsets)
+            if len(flattened_fieldsets) > len(sets.Set(flattened_fieldsets)):
+                raise ImproperlyConfigured('There are duplicate field(s) in the fieldsets declaration for %s' % self.model)
 
     def formfield_for_dbfield(self, db_field, **kwargs):
         """
Index: E:/Software/workspace/django-newforms-admin/tests/regressiontests/modeladmin/models.py
===================================================================
--- E:/Software/workspace/django-newforms-admin/tests/regressiontests/modeladmin/models.py	(revision 7700)
+++ E:/Software/workspace/django-newforms-admin/tests/regressiontests/modeladmin/models.py	(working copy)
@@ -103,6 +103,19 @@
 ['name']
 
 
+
+If there are duplicate fields in the fieldsets declaration, an exception
+should be raised.
+>>> class BandAdmin(ModelAdmin):
+...     fieldsets = [(None, {'fields': ['name', 'name']})]
+
+>>> ma = BandAdmin(Band, site)
+Traceback (most recent call last): 
+... 
+ImproperlyConfigured: There are duplicate field(s) in the fieldsets declaration for <class 'regressiontests.modeladmin.models.Band'>
+
+
+
 If we specify a form, it should use it allowing custom validation to work
 properly. This won't, however, break any of the admin widgets or media.
 
Index: E:/Software/workspace/django-newforms-admin/AUTHORS
===================================================================
--- E:/Software/workspace/django-newforms-admin/AUTHORS	(revision 7700)
+++ E:/Software/workspace/django-newforms-admin/AUTHORS	(working copy)
@@ -290,6 +290,7 @@
     peter@mymart.com
     pgross@thoughtworks.com
     phaedo <http://phaedo.cx/>
+    Julien Phalip <http://www.julienphalip.com>
     phil@produxion.net
     phil.h.smith@gmail.com
     Gustavo Picon
Index: E:/Software/workspace/django-newforms-admin/docs/admin.txt
===================================================================
--- E:/Software/workspace/django-newforms-admin/docs/admin.txt	(revision 7700)
+++ E:/Software/workspace/django-newforms-admin/docs/admin.txt	(working copy)
@@ -102,6 +102,21 @@
 that isn't an ``AutoField`` and has ``editable=True``, in a single fieldset,
 in the same order as the fields are defined in the model.
 
+``fieldsets`` should not contain duplicates (a duplicate meaning that a same field
+appears multiple times in the declaration). If a duplicate is found then an exception
+will be raised. For example, the following would **not** be valid, as the ``pub_date``
+field appears twice::
+
+    class PollAdmin(admin.ModelAdmin):
+        fieldsets = (
+            (None, {
+                'fields': ('pub_date', 'question')
+            }),
+            ('Date information', {
+                'fields': ('pub_date',)
+            }),
+        )
+
 The ``field_options`` dictionary can have the following keys:
 
 ``fields``
