diff --git a/Unreal3.2/src/ircd.c b/Unreal3.2/src/ircd.c
--- a/Unreal3.2/src/ircd.c
+++ b/Unreal3.2/src/ircd.c
@@ -526,6 +526,7 @@
 	char killflag = 0;
 	int  i = 0;
 	char banbuf[1024];
+	char scratch[32]; /* It's only <26 bytes assuming we use sensible ping here... */
 	int  ping = 0;
 
 	for (i = 0; i <= LastSlot; i++) {
@@ -700,7 +701,9 @@
 					Debug((DEBUG_DEBUG, "ssl accept handshake timeout: %s (%li-%li > %li)", cptr->sockhost,
 						currenttime, cptr->since, ping));
 #endif
-				exit_client(cptr, cptr, &me, "Ping timeout");
+				(void)ircsprintf(scratch, "Ping timeout: %d seconds",
+					(int) (currenttime - cptr->lasttime));
+				exit_client(cptr, cptr, &me, scratch);
 				continue;
 				
 			}
