diff --git a/src/sbbs3/sbbsecho.c b/src/sbbs3/sbbsecho.c
index c893acd2131b16109ee5dda3339c87d9bf4efeec..12751695c53f4c22e96a115d6d20bdb8dbb4a336 100644
--- a/src/sbbs3/sbbsecho.c
+++ b/src/sbbs3/sbbsecho.c
@@ -3335,7 +3335,7 @@ int import_netmail(char *path,fmsghdr_t hdr, FILE *fidomsg)
 	ulong length;
 	faddr_t addr;
 
-	hdr.destzone=hdr.origzone=sys_faddr.zone;
+	hdr.destzone=sys_faddr.zone;
 	hdr.destpoint=hdr.origpoint=0;
 	getzpt(fidomsg,&hdr);				/* use kludge if found */
 	for(match=0;match<scfg.total_faddrs;match++)
@@ -4418,6 +4418,13 @@ int main(int argc, char **argv)
 				continue; 
 			}
 
+			if(pkthdr.pkttype != 2) {
+				fclose(fidomsg);
+				lprintf(LOG_WARNING,"%s is not a type 2 packet (type=%u)"
+					,packet, pkthdr.pkttype);
+				continue; 
+			}
+
 			pkt_faddr.zone=pkthdr.origzone ? pkthdr.origzone:sys_faddr.zone;
 			pkt_faddr.net=pkthdr.orignet;
 			pkt_faddr.node=pkthdr.orignode;
@@ -4426,18 +4433,18 @@ int main(int argc, char **argv)
 			printf("%21s: %s "
 				,secure ? "Importing Secure Pkt" : "Importing Packet",packet+offset);
 			memcpy(&two_plus,&pkthdr.empty,sizeof(two_plus));
-			if(two_plus.cword==_rotr(two_plus.cwcopy,8)  /* 2+ Packet Header */
+			if(two_plus.cword==_rotr(two_plus.cwcopy,8)  /* 2+ Packet Header (see FSC-48 for explanation of this insanity) */
 				&& two_plus.cword && two_plus.cword&1) {
 				pkt_type=PKT_TWO_PLUS;
-				pkt_faddr.point=two_plus.origpoint ? two_plus.origpoint:0;
-				if(pkt_faddr.point && pkthdr.orignet==-1)
-					pkt_faddr.net=two_plus.auxnet ? two_plus.auxnet:sys_faddr.zone;	/* is this right? should be .net? */
+				pkt_faddr.point=two_plus.origpoint;
+				if(pkt_faddr.point != 0 && pkthdr.orignet == -1)
+					pkt_faddr.net=two_plus.auxnet ? two_plus.auxnet:sys_faddr.net;
 				printf("(Type 2+)");
 				if(cfg.log&LOG_PACKETS)
 					logprintf("Importing %s%s (Type 2+) from %s"
 						,secure ? "(secure) ":"",packet+offset,smb_faddrtoa(&pkt_faddr,NULL)); 
 			}
-			else if(pkthdr.baud==2) {				/* Type 2.2 Packet Header */
+			else if(pkthdr.baud==2) {				/* Type 2.2 Packet Header (FSC-45) */
 				pkt_type=PKT_TWO_TWO;
 				memcpy(&two_two,&pkthdr.empty,sizeof(two_two));
 				pkt_faddr.point=pkthdr.year ? pkthdr.year:0;
@@ -4446,7 +4453,7 @@ int main(int argc, char **argv)
 					logprintf("Importing %s%s (Type 2.2) from %s"
 						,secure ? "(secure) ":"",packet+offset,smb_faddrtoa(&pkt_faddr,NULL)); 
 			}
-			else {
+			else {	/* Type 2.0, FTS-1 */
 				pkt_type=PKT_TWO;
 				printf("(Type 2)");
 				if(cfg.log&LOG_PACKETS)