diff --git a/exec/ircmsg.js b/exec/ircmsg.js
index 19d5187aec6d6ffad0866871a93a6fb678a31387..8e745a02aa6f5a61c554475c2722c708320e8cba 100644
--- a/exec/ircmsg.js
+++ b/exec/ircmsg.js
@@ -65,7 +65,7 @@ if(!my_server) {
 }
 
 var done=0;
-while(!done) {
+while(!done && !js.terminated) {
 	while(!done && (response=my_server.recvline())) {
 		var resp=response.split(/\s+/);
 		if(resp[1]=='433') {
@@ -107,6 +107,10 @@ else while((msg=readln())!=undefined) {	/* read from stdin */
 while(my_server.poll(0) && (response=my_server.recvline()))
 	mylog(response);
 
+if(my_server.sendline("PING :"+ nick)) {
+	mylog(my_server.recvline());
+}
+
 IRC_quit(my_server);
 mylog("Exiting");
 exit();