diff --git a/src/sbbs3/sbbsecho.c b/src/sbbs3/sbbsecho.c
index 05355e00a56df5c4400183f04205a5afff85ce56..1aedd751f097afdf06ce8900ce952b7bcd9ad648 100644
--- a/src/sbbs3/sbbsecho.c
+++ b/src/sbbs3/sbbsecho.c
@@ -2827,6 +2827,7 @@ void seektonull(FILE *stream)
 char *pktname(BOOL temp)
 {
 	static char str[128];
+	static char tmp[128];
 	int i;
     time_t now;
     struct tm *tm;
@@ -2835,10 +2836,12 @@ char *pktname(BOOL temp)
 	for(i=0;i>=0;i++) {
 		now++;
 		tm=localtime(&now);
-		sprintf(str,"%s%02u%02u%02u%02u.%s",cfg.outbound,tm->tm_mday,tm->tm_hour
-			,tm->tm_min,tm->tm_sec,temp ? "pk_" : "pkt");
-		if(!fexist(str))				/* Add 1 second if name exists */
-			return(str); 
+		sprintf(str,"%s%02u%02u%02u%02u.pkt",cfg.outbound,tm->tm_mday,tm->tm_hour
+			,tm->tm_min,tm->tm_sec);
+		sprintf(tmp,"%s%02u%02u%02u%02u.pk_",cfg.outbound,tm->tm_mday,tm->tm_hour
+			,tm->tm_min,tm->tm_sec);
+		if(!fexist(str) && !fexist(tmp))				/* Add 1 second if name exists */
+			return(temp ? tmp : str); 
 	}
 	return(NULL);	/* This should never happen */
 }