diff --git a/src/modules/m_server.c b/src/modules/m_server.c
index e057f16..f57139b 100644
--- a/src/modules/m_server.c
+++ b/src/modules/m_server.c
@@ -221,8 +221,8 @@ void _send_server_message(aClient *sptr)
 
 	if (1) /* SupportVL(sptr)) -- always send like 3.2.x for now. */
 	{
-		sendto_one(sptr, "SERVER %s 1 :U%d-%s %s",
-			me.name, UnrealProtocol, serveropts, me.info);
+		sendto_one(sptr, "SERVER %s 1 :U%d-%s%s-%i %s",
+			me.name, UnrealProtocol, serveropts, extraflags ? extraflags : "", me.id, me.info);
 	} else {
 		sendto_one(sptr, "SERVER %s 1 :%s",
 			me.name, me.info);
@@ -409,6 +409,7 @@ CMD_FUNC(m_server)
 	char *inpath = get_client_name(cptr, TRUE);
 	int  hop = 0;
 	char info[REALLEN + 61];
+	char tmp[REALLEN + 61];
 	ConfigItem_link *aconf = NULL;
 	ConfigItem_deny_link *deny;
 	char *flags = NULL, *protocol = NULL, *inf = NULL, *num = NULL;
@@ -484,7 +485,7 @@ CMD_FUNC(m_server)
 			
 		/* OK, let us check in the data now now */
 		hop = atol(parv[2]);
-		strlcpy(info, parv[parc - 1], REALLEN + 61);
+		strlcpy(info, parv[parc - 1], sizeof(info));
 		strlcpy(cptr->name, servername, sizeof(cptr->name));
 		cptr->hopcount = hop;
 		/* Add ban server stuff */
@@ -497,7 +498,8 @@ CMD_FUNC(m_server)
 			protocol = NULL;
 			flags = NULL;
 			num = NULL;
-			protocol = (char *)strtok((char *)info, "-");
+			strlcpy(tmp, info, sizeof(tmp));
+			protocol = (char *)strtok((char *)tmp, "-");
 			if (protocol)
 				flags = (char *)strtok((char *)NULL, "-");
 			if (flags)
@@ -517,7 +519,7 @@ CMD_FUNC(m_server)
 				strlcpy(cptr->info, info[0] ? info : me.name, sizeof(cptr->info));
 			}
 		} else {
-				strlcpy(cptr->info, info[0] ? info : me.name, sizeof(cptr->info));
+			strlcpy(cptr->info, info[0] ? info : me.name, sizeof(cptr->info));
 		}
 
 		for (deny = conf_deny_link; deny; deny = (ConfigItem_deny_link *) deny->next)
@@ -603,7 +605,7 @@ CMD_FUNC(m_server_remote)
 	}
 	/* OK, let us check in the data now now */
 	hop = atol(parv[2]);
-	strlcpy(info, parv[parc - 1], REALLEN + 61);
+	strlcpy(info, parv[parc - 1], sizeof(info));
 	if (!cptr->serv->conf)
 	{
 		sendto_realops("Lost conf for %s!!, dropping link", cptr->name);
