diff --git a/src/sbbs3/sbbsecho.c b/src/sbbs3/sbbsecho.c
index 09dc81c8dcafb06d28b5cd4e3679335fbc3141ab..88e6f8749fbdd564bc4e1cbe6aaff869333460ea 100644
--- a/src/sbbs3/sbbsecho.c
+++ b/src/sbbs3/sbbsecho.c
@@ -8,7 +8,7 @@
  * @format.tab-size 4		(Plain Text/Source Code File Header)			*
  * @format.use-tabs true	(see http://www.synchro.net/ptsc_hdr.html)		*
  *																			*
- * Copyright 2013 Rob Swindell - http://www.synchro.net/copyright.html		*
+ * Copyright 2014 Rob Swindell - http://www.synchro.net/copyright.html		*
  *																			*
  * This program is free software; you can redistribute it and/or			*
  * modify it under the terms of the GNU General Public License				*
@@ -2772,6 +2772,9 @@ void putfmsg(FILE *stream,char *fbuf,fmsghdr_t fmsghdr,areasbbs_t area
 			}
 
 			for(i=0;i<area.uplinks;i++) {			/* Add all uplinks to SEEN-BYs */
+				int node=matchnode(area.uplink[i],0);
+				if(node<cfg.nodecfgs && (cfg.nodecfg[node].attr&ATTR_PASSIVE))
+					continue;
 				strcpy(seenby," ");
 				if((!cfg.zone_blind && area.uplink[i].zone!=addr.zone) || area.uplink[i].point)
 					continue;