diff --git a/src/lib-sieve/tst-address.c b/src/lib-sieve/tst-address.c
index 8b2a6f5daf87046eb2f866f37b2971989e0408e2..c9e4cdd1c0e977c4944960e0cc007579af8c683b 100644
--- a/src/lib-sieve/tst-address.c
+++ b/src/lib-sieve/tst-address.c
@@ -90,21 +90,28 @@ static bool tst_address_registered
  *
  * This list explicitly does not contain the envelope-to and return-path 
  * headers. The envelope test must be used to test against these addresses.
+ *
+ * FIXME: this restriction is somewhat odd. Sieve list advises to allow 
+ *        any other header as long as its content matches the address-list
+ *        grammar.
  */
 static const char * const _allowed_headers[] = {
 	/* Required */
 	"from", "to", "cc", "bcc", "sender", "resent-from", "resent-to",
 
-	/* Additional (RFC 2822) */
-	"reply-to", "resent-reply-to", 
-	
-	/* Non-standard (draft-palme-mailext-headers-08.txt) */
+	/* Additional (RFC 822 / RFC 2822) */
+	"reply-to", "resent-reply-to", "resent-sender", "resent-cc", "resent-bcc",  
+
+	/* Non-standard (RFC 2076, draft-palme-mailext-headers-08.txt) */
 	"for-approval", "for-handling", "for-comment", "apparently-to", "errors-to", 
 	"delivered-to", "return-receipt-to", "x-admin", "read-receipt-to", 
 	"x-confirm-reading-to", "return-receipt-requested", 
 	"registered-mail-reply-requested-by", "mail-followup-to", "mail-reply-to",
 	"abuse-reports-to", "x-complaints-to", "x-report-abuse-to",
 	
+	/* Undocumented */
+	"x-beenthere",
+	
 	NULL  
 };