diff -Nur sid-milter-0.2.14.orig/sid-filter/sid-filter.c sid-milter-0.2.14/sid-filter/sid-filter.c
--- sid-milter-0.2.14.orig/sid-filter/sid-filter.c	2006-07-21 06:28:09.000000000 +0800
+++ sid-milter-0.2.14/sid-filter/sid-filter.c	2006-08-22 08:47:48.263499292 +0800
@@ -1949,6 +1961,10 @@
 	assert(ctx != NULL);
 #endif /* !DEBUG */
 
+	ret = mlfi_eoh(ctx);
+	if (ret != SMFIS_CONTINUE)
+		return ret;
+
 	memset(stathdr, '\0', sizeof stathdr);
 	memset(spf_errmsg, '\0', sizeof spf_errmsg);
 	memset(sid_errmsg, '\0', sizeof sid_errmsg);
@@ -2392,7 +2408,7 @@
 	mlfi_envfrom,	/* envelope sender filter */
 	NULL,		/* envelope recipient filter */
 	mlfi_header,	/* header filter */
-	mlfi_eoh,	/* end of header */
+	NULL,	/* end of header */
 	NULL,		/* body block filter */
 	mlfi_eom,	/* end of message */
 	NULL,		/* message aborted */
