diff --git a/exec/nntpservice.js b/exec/nntpservice.js
index 74ef1e123fe7c2dff3c7b590c993a10c8cb9418c..3946ae46e978870d76301c9d54f606d1589e7596 100644
--- a/exec/nntpservice.js
+++ b/exec/nntpservice.js
@@ -18,6 +18,7 @@ var debug = false;
 var no_anonymous = false;
 var msgs_read = 0;
 var msgs_posted = 0;
+var slave = false;
 
 // Parse arguments
 for(i=0;i<argc;i++)
@@ -137,6 +138,7 @@ while(client.socket.is_connected) {
 	switch(cmd[0].toUpperCase()) {
 
 		case "SLAVE":
+			slave = true;
 			writeln("202 slave status noted");
 			break;
 
@@ -463,6 +465,10 @@ while(client.socket.is_connected) {
 					case "subject":
 						hdr.subject=data;
 						break;
+					case "message-id":
+						if(slave)
+							hdr.id=data;
+						break;
 					case "references":
 						hdr.reply_id=data;
 						if(!hdr.to)