diff -rc alpine-1.10/alpine/reply.c alpine-1.10.unverified/alpine/reply.c
*** alpine-1.10/alpine/reply.c	2008-02-27 17:04:46.000000000 -0800
--- alpine-1.10.unverified/alpine/reply.c	2008-03-17 20:33:51.000000000 -0700
***************
*** 1165,1173 ****
  	}
  	else if(!outgoing->newsgroups)
  	  outgoing->newsgroups = cpystr(env->newsgroups);
- 	if(!IS_NEWS(ps_global->mail_stream))
- 	  q_status_message(SM_ORDER, 2, 3,
-  _("Replying to message that MAY or MAY NOT have been posted to newsgroup"));
      }
  
      return(ret);
--- 1165,1170 ----
diff -rc alpine-1.10/imap/src/c-client/imap4r1.c alpine-1.10.unverified/imap/src/c-client/imap4r1.c
*** alpine-1.10/imap/src/c-client/imap4r1.c	2008-02-19 16:43:23.000000000 -0800
--- alpine-1.10.unverified/imap/src/c-client/imap4r1.c	2008-03-17 20:33:51.000000000 -0700
***************
*** 4527,4532 ****
--- 4527,4533 ----
    if (*env) {			/* need to merge this header into envelope? */
      if (!(*env)->newsgroups) {	/* need Newsgroups? */
        (*env)->newsgroups = nenv->newsgroups;
+       (*env)->ngpathexists = nenv->ngpathexists;
        nenv->newsgroups = NIL;
      }
      if (!(*env)->followup_to) {	/* need Followup-To? */
***************
*** 4581,4586 ****
--- 4582,4588 ----
      if (oenv) {			/* need to merge old envelope? */
        (*env)->newsgroups = oenv->newsgroups;
        oenv->newsgroups = NIL;
+       (*env)->ngpathexists = oenv->ngpathexists;
        (*env)->followup_to = oenv->followup_to;
        oenv->followup_to = NIL;
        (*env)->references = oenv->references;
diff -rc alpine-1.10/imap/src/c-client/mail.h alpine-1.10.unverified/imap/src/c-client/mail.h
*** alpine-1.10/imap/src/c-client/mail.h	2008-02-15 11:04:45.000000000 -0800
--- alpine-1.10.unverified/imap/src/c-client/mail.h	2008-03-17 20:33:51.000000000 -0700
***************
*** 685,690 ****
--- 685,691 ----
  /* Message envelope */
  
  typedef struct mail_envelope {
+   unsigned int ngpathexists : 1;	/* newsgroups may be bogus */
    unsigned int incomplete : 1;	/* envelope may be incomplete */
    unsigned int imapenvonly : 1;	/* envelope only has IMAP envelope */
    char *remail;			/* remail header if any */
diff -rc alpine-1.10/imap/src/c-client/rfc822.c alpine-1.10.unverified/imap/src/c-client/rfc822.c
*** alpine-1.10/imap/src/c-client/rfc822.c	2007-09-11 15:48:46.000000000 -0700
--- alpine-1.10.unverified/imap/src/c-client/rfc822.c	2008-03-17 20:33:51.000000000 -0700
***************
*** 130,135 ****
--- 130,136 ----
    ENVELOPE *env = (*en = mail_newenvelope ());
    BODY *body = bdy ? (*bdy = mail_newbody ()) : NIL;
    long MIMEp = -1;		/* flag that MIME semantics are in effect */
+   long PathP = NIL;             /* flag that a Path: was seen */
    parseline_t pl = (parseline_t) mail_parameters (NIL,GET_PARSELINE,NIL);
    if (!host) host = BADHOST;	/* make sure that host is non-null */
    while (i && *s != '\n') {	/* until end of header */
***************
*** 232,237 ****
--- 233,241 ----
  	  *t++ = '\0';
  	}
  	break;
+       case 'P':                 /* possible Path: */
+ 	if (!strcmp (tmp+1,"ATH")) env->ngpathexists = T;
+ 	break;
        case 'R':			/* possible Reply-To: */
  	if (!strcmp (tmp+1,"EPLY-TO"))
  	  rfc822_parse_adrlist (&env->reply_to,d,host);
diff -rc alpine-1.10/pith/mailview.c alpine-1.10.unverified/pith/mailview.c
*** alpine-1.10/pith/mailview.c	2008-03-05 10:56:28.000000000 -0800
--- alpine-1.10.unverified/pith/mailview.c	2008-03-17 20:33:51.000000000 -0700
***************
*** 2350,2357 ****
        format_addr_string(s, n, sect, "Return-Path: ", e->return_path,
  			 flags, oacs, pc);
  
!     if((which & FE_NEWSGROUPS) && e->newsgroups)
        format_newsgroup_string("Newsgroups: ", e->newsgroups, flags, pc);
  
      if((which & FE_FOLLOWUPTO) && e->followup_to)
        format_newsgroup_string("Followup-To: ", e->followup_to, flags, pc);
--- 2350,2370 ----
        format_addr_string(s, n, sect, "Return-Path: ", e->return_path,
  			 flags, oacs, pc);
  
!     if((which & FE_NEWSGROUPS) && e->newsgroups){
! 	int bogus = NIL;
        format_newsgroup_string("Newsgroups: ", e->newsgroups, flags, pc);
+       if (!e->ngpathexists && e->message_id &&
+        strncmp (e->message_id,"<alpine.",8) &&
+        strncmp (e->message_id,"<Pine.",6) &&
+        strncmp (e->message_id,"<MS-C.",6) &&
+        strncmp (e->message_id,"<MailManager.",13) &&
+        strncmp (e->message_id,"<EasyMail.",11) &&
+        strncmp (e->message_id,"<ML-",4)) bogus = T;
+ 
+ 	if(bogus)
+ 	  q_status_message(SM_ORDER, 0, 3,
+      "Unverified Newsgroup header -- Message MAY or MAY NOT have been posted");
+     }
  
      if((which & FE_FOLLOWUPTO) && e->followup_to)
        format_newsgroup_string("Followup-To: ", e->followup_to, flags, pc);
