diff --git a/web/lib/msgslib.ssjs b/web/lib/msgslib.ssjs
index 08ebb09d7f6bc0043245082e9ed82fc3501e01ff..d8ce76e280927c040a329f0ba4c78109e377983f 100644
--- a/web/lib/msgslib.ssjs
+++ b/web/lib/msgslib.ssjs
@@ -8,21 +8,12 @@ http_reply.header["Expires"]="0";
 var grp=http_request.query.msg_grp;
 if(grp=='' || grp==null)
 	grp=undefined;
-var g=parseInt(http_request.query.msg_grp);
 var sub=http_request.query.msg_sub;
 if(grp=='E-Mail')
 	sub='mail';
 var s=-1;
-if(sub != undefined)  {
-	if(msg_area.grp_list[g] != undefined) {
-		for(stmp in msg_area.grp_list[g].sub_list)  {
-			if(msg_area.grp_list[g].sub_list[stmp].code == sub)  {
-				s=stmp;
-			}
-		}
-	}
+if(sub != undefined)
 	var msgbase = new MsgBase(sub);
-}
 var message=http_request.query.message;
 var m=parseInt(http_request.query.message);
 var path=http_request.virtual_path;
diff --git a/web/root/msgs/attachments.ssjs b/web/root/msgs/attachments.ssjs
index ebd125a1b823f452265610fc95ba986ac614eb41..cd0b308f193d643016e4f6886fc4d47e357bd6bc 100644
--- a/web/root/msgs/attachments.ssjs
+++ b/web/root/msgs/attachments.ssjs
@@ -1,7 +1,7 @@
 /* 
  * Attachment FS emulator
  * Request attachments in the form:
- * attachments.ssjs/group/sub/messageID/filename
+ * attachments.ssjs/sub/messageID/filename
  */
 
 load("html_inc/template.ssjs");
@@ -11,10 +11,9 @@ var path=http_request.path_info.split(/\//);
 if(path==undefined) {
 	error("No path info!");
 }
-var group=parseInt(path[1]);
-var sub=path[2];
-var id=parseInt(path[3]);
-var filename=path[4];
+var sub=path[1];
+var id=parseInt(path[2]);
+var filename=path[3];
 
 var msgbase = new MsgBase(sub);
 if(msgbase.open!=undefined && msgbase.open()==false) {
diff --git a/web/root/msgs/inline.ssjs b/web/root/msgs/inline.ssjs
index 73b2e786cb7e5c2ad5832befe5aa5bcdb4b68f2c..0b43f9730a6c50819c2de2cdbd6bcbf36becd894 100644
--- a/web/root/msgs/inline.ssjs
+++ b/web/root/msgs/inline.ssjs
@@ -1,7 +1,7 @@
 /* 
  * Inline attachment FS emulator
  * Request attachments in the form:
- * attachments.ssjs/group/sub/messageID/Content-ID
+ * attachments.ssjs/sub/messageID/Content-ID
  */
 
 load("html_inc/template.ssjs");
@@ -11,10 +11,9 @@ var path=http_request.path_info.split(/\//);
 if(path==undefined) {
 	error("No path info!");
 }
-var group=parseInt(path[1]);
-var sub=path[2];
-var id=parseInt(path[3]);
-var cid=path[4];
+var sub=path[1];
+var id=parseInt(path[2]);
+var cid=path[3];
 
 var msgbase = new MsgBase(sub);
 if(msgbase.open!=undefined && msgbase.open()==false) {
diff --git a/web/root/msgs/management.ssjs b/web/root/msgs/management.ssjs
index 9e332099f8c3db583f0554855778ef2b2124994e..fd810814744351e28d77034b0fb494fab8347ca1 100644
--- a/web/root/msgs/management.ssjs
+++ b/web/root/msgs/management.ssjs
@@ -22,13 +22,13 @@ if(http_request.query.Action=="Delete Message(s)") {
 			errorlist.push("Cannot delete message "+mnum);
 			continue;
 		}
-		if(sub!='mail' && !msg_area.grp_list[g].sub_list[s].is_operator) {
-			if(!msg_area.grp_list[g].sub_list[s].settings&SUB_DEL) {
+		if(sub!='mail' && !msg_area.sub[sub].is_operator) {
+			if(!msg_area.sub[sub].settings&SUB_DEL) {
 				errorlist.push("Only operators can delete messages!");
 				errors++;
 				continue;
 			}
-			if(msg_area.grp_list[g].sub_list[s].settings&SUB_DELLAST) {
+			if(msg_area.sub[sub].settings&SUB_DELLAST) {
 				if(msgbase.last_msg!=mnum) {
 					errorlist.push("You can only delete the last post!");
 					errors++;
diff --git a/web/root/msgs/msg.ssjs b/web/root/msgs/msg.ssjs
index e5bf8651057d2270f08ecdd978a27bcc2fb8c3ed..eb6eee1524f0c8e3d2b08b64f5bf4a9fb236f682 100644
--- a/web/root/msgs/msg.ssjs
+++ b/web/root/msgs/msg.ssjs
@@ -7,10 +7,10 @@ if(msgbase.open!=undefined && msgbase.open()==false) {
 
 if(sub=='mail') {
 	template.group=new Object;
-	template.group.number=-1;
+	template.group.name="E-Mail";
 }
 else {
-	template.group=msg_area.grp_list[g];
+	template.group=msg_area.grp[msg_area.sub[sub].grp_name];
 }
 
 if(sub=='mail') {
@@ -19,8 +19,8 @@ if(sub=='mail') {
 	template.sub.code="mail";
 }
 else {
-	template.sub=msg_area.grp_list[g].sub_list[s];
-	if(!msg_area.grp_list[g].sub_list[s].can_read)
+	template.sub=msg_area.sub[sub];
+	if(!msg_area.sub[sub].can_read)
 		error("You can't read messages in this sub!");
 }
 
diff --git a/web/root/msgs/msgframe.ssjs b/web/root/msgs/msgframe.ssjs
index 641796157794e1bdc76fe2ba89057bec631c38af..1bd6ff34e27d446ca4d7bae78896da6fd8470bd6 100644
--- a/web/root/msgs/msgframe.ssjs
+++ b/web/root/msgs/msgframe.ssjs
@@ -1,7 +1,7 @@
 /*
  * Message FS emulator
  * Request messages in the form:
- * msgframe.ssjs/group/sub/messageID/filename
+ * msgframe.ssjs/sub/messageID/filename
  */
 
 load("html_inc/template.ssjs");
@@ -11,9 +11,8 @@ var path=http_request.path_info.split(/\//);
 if(path==undefined) {
         error("No path info!");
 }
-var group=parseInt(path[1]);
-var sub=path[2];
-var id=parseInt(path[3]);
+var sub=path[1];
+var id=parseInt(path[2]);
 
 var msgbase = new MsgBase(sub);
 
@@ -23,10 +22,10 @@ if(msgbase.open!=undefined && msgbase.open()==false) {
 
 if(sub=='mail') {
 	template.group=new Object;
-	template.group.number=-1;
+	template.group.name="E-Mail";
 }
 else {
-	template.group=msg_area.grp_list[group];
+	template.group=msg_area.grp[msg_area.sub[sub].grp_name];
 }
 
 if(sub=='mail') {
@@ -35,7 +34,7 @@ if(sub=='mail') {
 	template.sub.code="mail";
 }
 else {
-	template.sub=msg_area.grp_list[group].sub_list[sub];
+	template.sub=msg_area.sub[sub];
 }
 
 template.hdr=msgbase.get_msg_header(false,id);
diff --git a/web/root/msgs/msgs.ssjs b/web/root/msgs/msgs.ssjs
index 73e9a25a185e232227c76fbb98c9f96043a6312b..8eaf794ec13510cc2072182b73b0d5beb6801570 100644
--- a/web/root/msgs/msgs.ssjs
+++ b/web/root/msgs/msgs.ssjs
@@ -25,7 +25,7 @@ if(sub=='mail') {
 }
 else {
 	msgarray=get_all_message_offsets();
-	template.can_delete=msg_area.grp_list[g].sub_list[s].is_operator;
+	template.can_delete=msg_area.sub[sub].is_operator;
 }
 var total_pages=Math.floor(msgarray.length/max_messages);
 var firstpage=0;
@@ -63,15 +63,15 @@ if(total_pages>1) {
 		if(currpage==page)
 			template.pagelinks += '<b>'+(page+1)+'</b> ';
 		else
-			template.pagelinks += "<a href=\""+path+'?msg_grp='+g+'&amp;msg_sub='+encodeURIComponent(sub)+'&amp;offset='+(page*max_messages)+'">'+(page+1)+'</a> ';
+			template.pagelinks += "<a href=\""+path+'?msg_sub='+encodeURIComponent(sub)+'&amp;offset='+(page*max_messages)+'">'+(page+1)+'</a> ';
 	}
 
 	if(offset+max_messages < msgarray.length)  {
-		template.pagelinks+='<a href="'+path+'?msg_grp='+g+'&amp;msg_sub='+encodeURIComponent(sub)+'&amp;offset='+(offset+max_messages)+'">NEXT</a>';
+		template.pagelinks+='<a href="'+path+'?msg_sub='+encodeURIComponent(sub)+'&amp;offset='+(offset+max_messages)+'">NEXT</a>';
 	}
 
 	if(offset>0) {
-		template.pagelinks='<a href="'+path+'?msg_grp='+g+'&amp;msg_sub='+encodeURIComponent(sub)+'&amp;offset='+(offset-max_messages)+'">PREV</a> '+template.pagelinks;
+		template.pagelinks='<a href="'+path+'?msg_sub='+encodeURIComponent(sub)+'&amp;offset='+(offset-max_messages)+'">PREV</a> '+template.pagelinks;
 	}
 }
 
@@ -82,12 +82,12 @@ if(sub=='mail') {
 	template.sub.code="mail";
 }
 else {
-	template.title="Messages in "+msg_area.grp_list[g].sub_list[s].description;
-	template.sub=msg_area.grp_list[g].sub_list[s];
+	template.title="Messages in "+msg_area.sub[sub].description;
+	template.sub=msg_area.sub[sub];
 }
 
 if(sub!='mail')  {
-	if(! msg_area.grp_list[g].sub_list[s].can_read)  {
+	if(! msg_area.sub[sub].can_read)  {
 		error("You don't have sufficient rights to read this sub");
 	}
 }
@@ -96,7 +96,14 @@ write_template("header.inc");
 last_offset=msgarray.length-1-offset;
 
 template.messages=new Array;
-template.group=msg_area.grp_list[g];
+if(sub=='mail') {
+	template.group=new Object;
+	template.group.name="E-Mail";
+	template.group.description="E-Mail";
+}
+else {
+	template.group=msg_area.grp[msg_area.sub[sub].grp_name];
+}
 
 for(displayed=0;displayed<max_messages && last_offset >= 0 && msgarray[last_offset].hdr != null;last_offset--) {
 	if(msgarray[last_offset].hdr.subject=='')
diff --git a/web/root/msgs/post.ssjs b/web/root/msgs/post.ssjs
index 496aba36fea95f01b2743965a15220670e2d4c33..a106ca3605cbfcdb436613d6c71621116da85bec 100644
--- a/web/root/msgs/post.ssjs
+++ b/web/root/msgs/post.ssjs
@@ -1,6 +1,6 @@
 load("html_inc/msgslib.ssjs");
 
-template.group=msg_area.grp_list[g];
+template.group=msg_area.grp_list[msg_area.sub[sub].grp_name];
 
 if(sub=='mail') {
 	template.sub=new Object;
@@ -8,11 +8,11 @@ if(sub=='mail') {
 	template.sub.code="mail";
 }
 else {
-	template.sub=msg_area.grp_list[g].sub_list[s];
+	template.sub=msg_area.sub[sub];
 }
 
 if(sub!='mail') {
-	if(! msg_area.grp_list[g].sub_list[s].can_post)  {
+	if(! msg_area.sub[sub].can_post)  {
 		error("You don't have sufficient rights to post in this sub");
 	}
 }
diff --git a/web/root/msgs/reply.ssjs b/web/root/msgs/reply.ssjs
index c8ff9f16f06141ccaf4644a9ce8ea499957b8a94..be9f5065d83b797066b74b3ab3f43ff3e458c0c9 100644
--- a/web/root/msgs/reply.ssjs
+++ b/web/root/msgs/reply.ssjs
@@ -1,6 +1,6 @@
 load("html_inc/msgslib.ssjs");
 
-template.group=msg_area.grp_list[g];
+template.group=msg_area.grp[msg_area.sub[sub].grp_name];
 
 if(sub=='mail') {
 	template.sub=new Object;
@@ -8,11 +8,11 @@ if(sub=='mail') {
 	template.sub.code="mail";
 }
 else {
-	template.sub=msg_area.grp_list[g].sub_list[s];
+	template.sub=msg_area.sub[sub];
 }
 
 if(sub!='mail') {
-	if(! msg_area.grp_list[g].sub_list[s].can_post)  {
+	if(! msg_area.sub[sub].can_post)  {
 		error("You don't have sufficient rights to post in this sub");
 	}
 }
diff --git a/web/root/msgs/savemsg.ssjs b/web/root/msgs/savemsg.ssjs
index 0564c76bab93dd0a5556454be9d5d1917aadd605..95a82bc1272a34c80b2f9a644c6fdfacfaa8f888 100644
--- a/web/root/msgs/savemsg.ssjs
+++ b/web/root/msgs/savemsg.ssjs
@@ -1,6 +1,6 @@
 load("html_inc/msgslib.ssjs");
 
-template.group=msg_area.grp_list[g];
+template.group=msg_area.grp[msg_area.sub[sub].grp_name];
 
 if(sub=='mail') {
 	template.sub=new Object;
@@ -8,12 +8,12 @@ if(sub=='mail') {
 	template.sub.code="mail";
 }
 else {
-	template.sub=msg_area.grp_list[g].sub_list[s];
+	template.sub=msg_area.sub[sub];
 }
 
 var hdrs = new Object;
 if(sub!='mail')  {
-	if(! msg_area.grp_list[g].sub_list[s].can_post)  {
+	if(! msg_area.sub[sub].can_post)  {
 		error("You don't have sufficient rights to post in this sub");
 	}
 }
diff --git a/web/root/msgs/subinfo.ssjs b/web/root/msgs/subinfo.ssjs
index 444f72af933353e6e8aac836caed9082aaf63a63..1d29e42fd95a7a6f7fc8eb27a7e84c3796735a37 100644
--- a/web/root/msgs/subinfo.ssjs
+++ b/web/root/msgs/subinfo.ssjs
@@ -1,7 +1,7 @@
 load("sbbsdefs.js");
 load("html_inc/msgslib.ssjs");
 
-if((g==undefined || isNaN(g) || g==-1) && sub=='mail') {
+if(sub=='mail') {
 	template.type="Internet";
 	template.sub=new Object;
 	template.sub.description="Internet E-Mail";
@@ -15,7 +15,7 @@ if((g==undefined || isNaN(g) || g==-1) && sub=='mail') {
 	template.sub.max_msgs="Unknown";
 }
 else {
-	template.sub=msg_area.grp_list[g].sub_list[s];
+	template.sub=msg_area.sub[sub];
 	if(template.sub.settings & SUB_FIDO) {
 		template.type="FidoNet";
 		template.tagline=template.sub.fidonet_origin;
diff --git a/web/root/msgs/subs.ssjs b/web/root/msgs/subs.ssjs
index d66e0fe6d8383d55d5adb0c7e43fbcb63aaadbd4..378c9ff3508f4ee95282855d1100e6e6c3b9f0a6 100644
--- a/web/root/msgs/subs.ssjs
+++ b/web/root/msgs/subs.ssjs
@@ -1,11 +1,11 @@
 load("html_inc/msgslib.ssjs");
 
-title="Message Subs in "+msg_area.grp_list[g].description;
+title="Message Subs in "+msg_area.grp[grp].description;
 
 write_template("header.inc");
 
-template.group=msg_area.grp_list[g];
-template.subs=msg_area.grp_list[g].sub_list;
+template.group=msg_area.grp[grp];
+template.subs=msg_area.grp[grp].sub_list;
 write_template("msgs/subs.inc");
 write_template("footer.inc");
 
diff --git a/web/templates/msgs/groups.inc b/web/templates/msgs/groups.inc
index 34b38642e1ac4d1125e63704af02008494d6f8ab..223e1d67432f93af1b0204dcb590badaf88cd6a3 100644
--- a/web/templates/msgs/groups.inc
+++ b/web/templates/msgs/groups.inc
@@ -5,7 +5,7 @@
 </tr>
 <<REPEAT groups>>
 <tr>
-	<td class="grouplist"><a class="grouplist" href="subs.ssjs?msg_grp=^^groups:number^^">%%groups:name%%</a></td>
+	<td class="grouplist"><a class="grouplist" href="subs.ssjs?msg_grp=^^groups:name^^">%%groups:name%%</a></td>
 	<td class="grouplist">%%groups:description%%</td>
 </tr>
 <<END REPEAT groups>>
diff --git a/web/templates/msgs/msg.inc b/web/templates/msgs/msg.inc
index 636e2498ddb01fcb6c08a163e1d1a3825a1dc357..c32682f6092c563d2f695073ff3b14f12bab0b3b 100644
--- a/web/templates/msgs/msg.inc
+++ b/web/templates/msgs/msg.inc
@@ -1,6 +1,6 @@
-<p class="navigation"><a class="navigation" href="http://^^JS:system.inet_addr^^">Home</a> : <a class="navigation" href="/members/">Members</a> : <a class="navigation" href="index.ssjs">Groups</a> : <a class="navigation" href="subs.ssjs?msg_grp=^^group:number^^">%%group:description%%</a> :
-<a class="navigation" href="msgs.ssjs?msg_grp=^^group:number^^&amp;msg_sub=^^sub:code^^">%%sub:description%%</a>
-<a class="navigation" href="subinfo.ssjs?msg_grp=^^group:number^^&amp;msg_sub=^^sub:code^^">[?]</a><br /></p>
+<p class="navigation"><a class="navigation" href="http://^^JS:system.inet_addr^^">Home</a> : <a class="navigation" href="/members/">Members</a> : <a class="navigation" href="index.ssjs">Groups</a> : <a class="navigation" href="subs.ssjs?msg_grp=^^group:name^^">%%group:description%%</a> :
+<a class="navigation" href="msgs.ssjs?msg_sub=^^sub:code^^">%%sub:description%%</a>
+<a class="navigation" href="subinfo.ssjs?msg_sub=^^sub:code^^">[?]</a><br /></p>
 <table class="msg" border="0" width="95%">
 <tr class="msg">
     <td class="msgheader" nowrap="nowrap">Subject:</td>
@@ -17,7 +17,7 @@
 <tr><td colspan="4"><hr /></td></tr>
 <tr>
     <td colspan="4">
-        <object class="msg" type="text/html" border="2" data="msgframe.ssjs/^^group:number^^/^^sub:code^^/^^hdr:number^^" standby="Loading Message ..." width="100%" height="450">
+        <object class="msg" type="text/html" border="2" data="msgframe.ssjs/^^sub:code^^/^^hdr:number^^" standby="Loading Message ..." width="100%" height="450">
             <pre class="leftalign">@@body@@</pre>
         </object>
     </td>
@@ -26,8 +26,8 @@
 @@JS:if(template.attachments==undefined) '<!--'; else '';@@
 <b>Attachments:</b><br />
 <<REPEAT attachments>>
-<a href="attachments.ssjs/^^group:number^^/^^sub:code^^/^^hdr:number^^/^^attachments:name^^">%%attachments:name%%</a><br />
+<a href="attachments.ssjs/^^sub:code^^/^^hdr:number^^/^^attachments:name^^">%%attachments:name%%</a><br />
 <<END REPEAT attachments>>
 @@JS:if(template.attachments==undefined) '-->'; else '';@@
-<p class="msgcenter"><a href="reply.ssjs?msg_grp=^^group:number^^&amp;msg_sub=^^sub:code^^&amp;reply_to=^^hdr:number^^">Reply</a></p>
+<p class="msgcenter"><a href="reply.ssjs?msg_sub=^^sub:code^^&amp;reply_to=^^hdr:number^^">Reply</a></p>
 
diff --git a/web/templates/msgs/msgs.inc b/web/templates/msgs/msgs.inc
index cfb386203a666732165affbaa87a80db046623fd..437d8884b9bb59b85f06986e72afe51c2620e35e 100644
--- a/web/templates/msgs/msgs.inc
+++ b/web/templates/msgs/msgs.inc
@@ -1,10 +1,9 @@
 <p class="navigation">
     <a class="navigation" href="http://^^JS:system.inet_addr^^/">Home</a> : <a class="navigation" href="/members/">Members</a> : 
-    <a class="navigation" href="index.ssjs">Groups</a> : <a class="navigation" href="subs.ssjs?msg_grp=^^group:number^^">%%group:description%%</a> : %%sub:description%%
-    <a class="navigation" href="subinfo.ssjs?msg_grp=^^group:number^^&amp;msg_sub=^^sub:code^^">[?]</a> -&#062;
-    <a class="navigation" href="post.ssjs?msg_grp=^^group:number^^&amp;msg_sub=^^sub:code^^&amp;post=new">Post New Message</a></p>
+    <a class="navigation" href="index.ssjs">Groups</a> : <a class="navigation" href="subs.ssjs?msg_grp=^^group:name^^">%%group:description%%</a> : %%sub:description%%
+    <a class="navigation" href="subinfo.ssjs?msg_sub=^^sub:code^^">[?]</a> -&#062;
+    <a class="navigation" href="post.ssjs?msg_sub=^^sub:code^^&amp;post=new">Post New Message</a></p>
 <form action="management.ssjs" method="post">
-<input type="hidden" name="msg_grp" value="^^group:number^^" />
 <input type="hidden" name="msg_sub" value="^^sub:code^^" />
 <table class="msglist" cellpadding="5" cellspacing="2" border="0" width="100%">
 <tr class="msglist">
@@ -23,7 +22,7 @@
     		@@JS:if(@@messages:attachments@@>0) '<img alt="Attachment" src="/graphics/attach_black.gif" />'; else '&nbsp;';@@
 	   </td>
 	   <td>
-		  <a class="msglist" href="msg.ssjs?msg_grp=^^group:number^^&amp;msg_sub=^^sub:code^^&amp;message=^^messages:number^^">%%messages:subject%%</a>
+		  <a class="msglist" href="msg.ssjs?msg_sub=^^sub:code^^&amp;message=^^messages:number^^">%%messages:subject%%</a>
 	   </td>
 	   <td>
 		  %%messages:from%%
diff --git a/web/templates/msgs/post.inc b/web/templates/msgs/post.inc
index bac1a2a11a04aa833df04c4a2721681393c3957c..f0433a3bf18671dba93eb9bf9dbdfbb78d6311c7 100644
--- a/web/templates/msgs/post.inc
+++ b/web/templates/msgs/post.inc
@@ -1,6 +1,5 @@
 <form action="savemsg.ssjs" method="post">
 <table class="postmsg" border="0" cellspacing="2" cellpadding="0">
-<input type="hidden" name="msg_grp" value="%%group:number%%" />
 <input type="hidden" name="msg_sub" value="%%sub:code%%" />
   <tbody>
     <tr>
diff --git a/web/templates/msgs/posted.inc b/web/templates/msgs/posted.inc
index 82288fc7f00effde5a5cf37765ed925049e9c6c7..a67ded3853e8f6534483bb2f1a3fefe28a116982 100644
--- a/web/templates/msgs/posted.inc
+++ b/web/templates/msgs/posted.inc
@@ -1,13 +1,13 @@
-<p class="navigation"><a class="navigation" href="http://^^JS:system.inet_addr^^/">Home</a> : <a class="navigation" href="index.ssjs">Groups</a> : <a class="navigation" href="subs.ssjs?msg_grp=^^group:number^^">%%group:description%%</a> : 
-            <a class="navigation" href="msgs.ssjs?msg_grp=^^group:number^^&msg_sub=^^sub:code^^">%%sub:description%%</a>
-            <a class="navigation" href="subinfo.ssjs?msg_grp=^^group:number^^&msg_sub=^^sub:code^^">[?]</a></p>
+<p class="navigation"><a class="navigation" href="http://^^JS:system.inet_addr^^/">Home</a> : <a class="navigation" href="index.ssjs">Groups</a> : <a class="navigation" href="subs.ssjs?msg_grp=^^group:name^^">%%group:description%%</a> : 
+            <a class="navigation" href="msgs.ssjs?msg_sub=^^sub:code^^">%%sub:description%%</a>
+            <a class="navigation" href="subinfo.ssjs?msg_sub=^^sub:code^^">[?]</a></p>
 <table class="posted" cellspacing="2" cellpadding="2">
     <tbody>
         <tr>
         <td class="posted">
             
             <h1>Message posted successfully</h1>
-            <p class="posted"><a href="msgs.ssjs?msg_grp=^^group:number^^&msg_sub=^^sub:code^^">Return to %%sub:description%%</a></p>
+            <p class="posted"><a href="msgs.ssjs?msg_sub=^^sub:code^^">Return to %%sub:description%%</a></p>
         </td>
         </tr>
     </tbody>
diff --git a/web/templates/msgs/reply.inc b/web/templates/msgs/reply.inc
index 2787550bb7ee80899fe7ee562bcb3dded76a6add..9367a4fd52d0e6f3ac0a4b54fadaee979c78d410 100644
--- a/web/templates/msgs/reply.inc
+++ b/web/templates/msgs/reply.inc
@@ -1,6 +1,5 @@
 <form action="savemsg.ssjs" method="post">
 <table class="replymsg" border="0" cellspacing="2" cellpadding="0">
-<input type="hidden" name="msg_grp" value="%%group:number%%" />
 <input type="hidden" name="msg_sub" value="%%sub:code%%" />
 <input type="hidden" name="reply_to" value="%%number%%" />
   <tbody>
diff --git a/web/templates/msgs/subs.inc b/web/templates/msgs/subs.inc
index 8ddf3653e97e52a3f4861adce4184ea63dd04f7e..e9da151e5f287d4133d469f25de74c5d0bf86af8 100644
--- a/web/templates/msgs/subs.inc
+++ b/web/templates/msgs/subs.inc
@@ -7,8 +7,8 @@
 </tr>
 <<REPEAT subs>>
 <tr>
-	<td class="sublist"><a class="msglist" href="msgs.ssjs?msg_grp=^^group:number^^&amp;msg_sub=^^subs:code^^">%%subs:name%%</a></td>
-    <td class="sublist"><a class="msglist" href="subinfo.ssjs?msg_grp=^^group:number^^&amp;msg_sub=^^subs:code^^">[?]</a></td>
+	<td class="sublist"><a class="msglist" href="msgs.ssjs?msg_sub=^^subs:code^^">%%subs:name%%</a></td>
+    <td class="sublist"><a class="msglist" href="subinfo.ssjs?msg_sub=^^subs:code^^">[?]</a></td>
 	<td class="sublist">%%subs:description%%</td>
 </tr>
 <<END REPEAT subs>>