diff -Naur batv-milter-0.3.0/batv-filter/batv-filter.c batv-milter-0.3.0-pa/batv-filter/batv-filter.c
--- batv-milter-0.3.0/batv-filter/batv-filter.c	2008-09-04 22:17:50.000000000 +0200
+++ batv-milter-0.3.0-pa/batv-filter/batv-filter.c	2009-05-14 09:26:01.000000000 +0200
@@ -10,6 +10,8 @@
 static char batv_filter_c_id[] = "@(#)$Id: batv-filter.c,v 1.32 2008/09/04 20:17:50 msk Exp $";
 #endif /* !lint */
 
+#define PA_UTM	1
+
 /* system includes */
 #include <sys/param.h>
 #include <sys/types.h>
@@ -485,7 +487,11 @@
                unsigned long *pf3)
 {
 #ifndef DEBUG
+#ifdef PA_UTM
+	*pf0 = SMFIF_ADDHDRS | SMFIF_DELRCPT | SMFIF_ADDRCPT;
+#else
 	*pf0 = SMFIF_CHGFROM | SMFIF_ADDHDRS | SMFIF_DELRCPT | SMFIF_ADDRCPT;
+#endif
 	*pf1 = SMFIP_NOHELO | SMFIP_NOHDRS | SMFIP_NOEOH | SMFIP_NOUNKNOWN | 
 	       SMFIP_NODATA | SMFIP_NOBODY;
 #endif /* ! DEBUG */
@@ -1254,6 +1260,7 @@
 			       bfc->ctx_jobid, bfc->ctx_sender,
 			       bfc->ctx_newsender);
 		}
+#ifndef PA_UTM
 		else if (smfi_chgfrom(ctx, bfc->ctx_newsender,
 		                      bfc->ctx_esmtp) != MI_SUCCESS)
 		{
@@ -1266,6 +1273,7 @@
 
 			return SMFIS_TEMPFAIL;
 		}
+#endif
 	}
 
 	for (rcpt = bfc->ctx_rcpts; rcpt != NULL; rcpt = rcpt->rcpt_next)
@@ -1514,7 +1522,11 @@
 {
 	"Sendmail BATV Filter",	/* filter name */
 	SMFI_VERSION,		/* version code -- do not change */
+#ifdef PA_UTM
 	SMFIF_ADDHDRS|SMFIF_CHGFROM|SMFIF_DELRCPT|SMFIF_ADDRCPT, /* flags */
+#else
+	SMFIF_ADDHDRS|SMFIF_DELRCPT|SMFIF_ADDRCPT, /* flags */
+#endif
 	mlfi_connect,		/* connection info filter */
 	NULL,			/* SMTP HELO command filter */
 	mlfi_envfrom,		/* envelope sender filter */

