--- Message.pm.old	2004-01-27 15:20:58.000000000 +0000
+++ Message.pm	2004-02-21 18:00:37.000000000 +0000
@@ -3312,5 +3463,49 @@
 }
 
 
+#
+# Over-ride a function in Mail::Header that parses the block of headers
+# at the top of each MIME section. My improvement allows the first line
+# of the header block to be missing, which breaks the original parser
+# though the filename is still there.
+#
+
+package Mail::Header;
+
+sub extract
+{
+ my $me = shift;
+ my $arr = shift;
+ my $line;
+
+ $me->empty;
+
+ # JKF Make this more robust by allowing first line of header to be missing
+ shift @{$arr} while scalar(@{$arr}) &&
+                     $arr->[0] =~ /\A[ \t]+/o &&
+                     $arr->[1] =~ /\A$FIELD_NAME/o;
+ # JKF End mod here
+
+ while(scalar(@{$arr}) && $arr->[0] =~ /\A($FIELD_NAME|From )/o)
+  {
+   my $tag = $1;
+
+   $line = shift @{$arr};
+   $line .= shift @{$arr}
+       while(scalar(@{$arr}) && $arr->[0] =~ /\A[ \t]+/o);
+
+   ($tag,$line) = _fmt_line($me,$tag,$line);
+
+   _insert($me,$tag,$line,-1)
+      if defined $line;
+  }
+
+ shift @{$arr}
+  if(scalar(@{$arr}) && $arr->[0] =~ /\A\s*\Z/o);
+
+ $me;
+}
+
+
 1;
 