diff --git a/exec/nntpservice.js b/exec/nntpservice.js
index e036b9b477c092304b159758f2026375a95eceaa..fd8df79dfd9e0c8780e88150b5ba98aebca10aca 100644
--- a/exec/nntpservice.js
+++ b/exec/nntpservice.js
@@ -331,7 +331,7 @@ while(client.socket.is_connected) {
 			var posted=false;
 			var header=true;
 			var body="";
-			var newsgroups="";
+			var newsgroups=new Array();
 			while(client.socket.is_connected) {
 
 				line = client.socket.recvline(512 /*maxlen*/, 300 /*timeout*/);
@@ -382,33 +382,34 @@ while(client.socket.is_connected) {
 						hdr.subject=data;
 						break;
 					case "newsgroups":
-						newsgroups=data;
+						newsgroups=data.split(',');
 						break;
 				}
 			}
 
-			for(g in msg_area.grp_list) 
-				for(s in msg_area.grp_list[g].sub_list) 
-					if(msg_area.grp_list[g].sub_list[s].newsgroup.toLowerCase()==newsgroups.toLowerCase()) {
-						if(!msg_area.grp_list[g].sub_list[s].can_post)
-							continue;
-
-						if(msgbase!=null) {
-							msgbase.close();
-							delete msgbase;
-						}
-						if(msg_area.grp_list[g].sub_list[s].settings&SUB_NAME
-							&& !(user.security.restrictions&(UFLAG_G|UFLAG_Q)))
-							hdr.from=user.name;	// Use real names
-
-						msgbase=new MsgBase(msg_area.grp_list[g].sub_list[s].code);
-						if(msgbase.save_msg(hdr,body)) {
-							log(format("%s posted a message on %s",user.alias,newsgroups));
-							writeln("240 article posted ok");
-							posted=true;
-						} else 
-							log(format("!ERROR saving mesage: %s",msgbase.last_error));
-					}
+            for(n in newsgroups)
+    			for(g in msg_area.grp_list) 
+				    for(s in msg_area.grp_list[g].sub_list) 
+					    if(msg_area.grp_list[g].sub_list[s].newsgroup.toLowerCase()==n.toLowerCase()) {
+						    if(!msg_area.grp_list[g].sub_list[s].can_post)
+							    continue;
+
+						    if(msgbase!=null) {
+							    msgbase.close();
+							    delete msgbase;
+						    }
+						    if(msg_area.grp_list[g].sub_list[s].settings&SUB_NAME
+							    && !(user.security.restrictions&(UFLAG_G|UFLAG_Q)))
+							    hdr.from=user.name;	// Use real names
+
+						    msgbase=new MsgBase(msg_area.grp_list[g].sub_list[s].code);
+						    if(msgbase.save_msg(hdr,body)) {
+							    log(format("%s posted a message on %s",user.alias,newsgroups));
+							    writeln("240 article posted ok");
+							    posted=true;
+						    } else 
+							    log(format("!ERROR saving mesage: %s",msgbase.last_error));
+					    }
 			if(!posted) {
 				log("post failure");
 				writeln("441 posting failed");