Index: fields.py
===================================================================
--- fields.py	(revision 5492)
+++ fields.py	(working copy)
@@ -518,8 +518,14 @@
         errors = ErrorList()
         if self.required and not value:
             raise ValidationError(gettext(u'This field is required.'))
-        elif not self.required and not value:
-            return self.compress([])
+        elif not self.required:
+	    value_empty = False
+	    for v in value:
+	        if v == '':
+		    value_empty = True
+		    break
+	    if value_empty:
+            	return self.compress([])
         if not isinstance(value, (list, tuple)):
             raise ValidationError(gettext(u'Enter a list of values.'))
         for i, field in enumerate(self.fields):
