diff -Nurp tin-2.6.2/src/rfc2046.c tin-2.6.2_r1/src/rfc2046.c
--- tin-2.6.2/src/rfc2046.c	2021-12-22 14:24:50.000000000 +0100
+++ tin-2.6.2_r1/src/rfc2046.c	2022-02-07 14:07:23.000000000 +0100
@@ -1237,6 +1237,7 @@ parse_multipart_article(
 						fprintf(artinfo->raw, "%s\n", line);
 					artinfo->hdr.ext->line_count++;
 				}
+				return tin_errno | TIN_EOF;		/* Flag EOF */
 			}
 #endif /* 0 */
 			return tin_errno;
@@ -1277,8 +1278,12 @@ parse_multipart_article(
 						int ret, old_line_count;
 
 						old_line_count = curr_part->line_count;
-						if ((ret = parse_multipart_article(infile, artinfo, curr_part, depth + 1, show_progress_meter)) != 0)
+						if ((ret = parse_multipart_article(infile, artinfo, curr_part, depth + 1, show_progress_meter)) != 0) {
+							/* Strip off EOF condition if present */
+							if (ret & TIN_EOF)
+								ret ^= TIN_EOF;
 							return ret;							/* User abort or EOF reached */
+						}
 						if (part && part != artinfo->hdr.ext)
 							part->line_count += curr_part->line_count - old_line_count;
 						if (is_rfc822 && rfc822_part)
