--- src/ngircd/irc-login.c	4 Jun 2005 12:32:09 -0000	1.44
+++ src/ngircd/irc-login.c	15 Dec 2005 10:54:17 -0000
@@ -456,7 +456,15 @@ IRC_PING( CLIENT *Client, REQUEST *Req )
 	}
 
 	Log( LOG_DEBUG, "Connection %d: got PING, sending PONG ...", Client_Conn( Client ));
-	return IRC_WriteStrClient( Client, "PONG %s :%s", Client_ID( Client_ThisServer( )), Client_ID( Client ));
+#ifdef STRICT_RFC
+	return IRC_WriteStrClient(Client, "PONG %s :%s",
+		Client_ID(Client_ThisServer()), Client_ID(Client));
+#else
+	/* Some clients depend on the argument being returned in the PONG
+	 * reply (not mentioned in any RFC, though) */
+	return IRC_WriteStrClient(Client, "PONG %s :%s",
+		Client_ID(Client_ThisServer( )), Req->argv[0]);
+#endif	
 } /* IRC_PING */
 
 
