diff --git a/exec/ircd.js b/exec/ircd.js
index 66c91dd07711d9824cabb7d583e11b0341e26506..87a0a8c6f1ce8d7363a69e3d86596bd945ef3c1e 100644
--- a/exec/ircd.js
+++ b/exec/ircd.js
@@ -672,6 +672,7 @@ function connect_to_server(this_cline,the_port) {
 		Unregistered[new_id].outgoing = true; /* Outgoing Connection */
 		Unregistered[new_id].ircclass = this_cline.ircclass;
 		YLines[this_cline.ircclass].active++;
+		log(LOG_DEBUG, "Class "+this_cline.ircclass+" up to "+YLines[this_cline.ircclass].active+" active out of "+YLines[this_cline.ircclass].maxlinks);
 	}
 	else {
 		umode_notice(USERMODE_ROUTING,"Routing",
diff --git a/exec/load/ircd_server.js b/exec/load/ircd_server.js
index aac56bb2fc6ab8cbe5ef1e4238d80398cfbbad57..df2057afbf8d9547f78907780daaef4a3632aad5 100644
--- a/exec/load/ircd_server.js
+++ b/exec/load/ircd_server.js
@@ -1215,8 +1215,10 @@ function Server_Quit(str,suppress_bcast,is_netsplit,origin) {
 		if (this.socket!=undefined) {
 			this.socket.close();
 			if (this.outgoing) {
-				if (YLines[this.ircclass].active > 0)
-					YLines[this.ircclass].active;
+				if (YLines[this.ircclass].active > 0) {
+					YLines[this.ircclass].active--;
+					log(LOG_DEBUG, "Class "+this_cline.ircclass+" down to "+YLines[this_cline.ircclass].active+" active out of "+YLines[this_cline.ircclass].maxlinks);
+				}
 				else
 					log(LOG_ERROR, format("Class %d YLine going negative", this.ircclass));
 			}
diff --git a/exec/load/ircd_unreg.js b/exec/load/ircd_unreg.js
index 4e1347faa26cf203895d881d0d7c6ce8397be973..234919a1612153f74b6599b53f2ff35e26a56ade 100644
--- a/exec/load/ircd_unreg.js
+++ b/exec/load/ircd_unreg.js
@@ -310,8 +310,10 @@ function Unregistered_Quit(msg) {
 		log(LOG_INFO, "Unregistered_Quit(\""+msg+"\")");
 	this.socket.close();
 	if (this.outgoing) {
-		if (YLines[this.ircclass].active > 0)
-			YLines[this.ircclass].active;
+		if (YLines[this.ircclass].active > 0) {
+			YLines[this.ircclass].active--;
+			log(LOG_DEBUG, "Class "+this_cline.ircclass+" down to "+YLines[this_cline.ircclass].active+" active out of "+YLines[this_cline.ircclass].maxlinks);
+		}
 		else
 			log(LOG_ERROR, format("Class %d YLine going negative", this.ircclass));
 	}
diff --git a/exec/load/ircd_user.js b/exec/load/ircd_user.js
index 6cc6215d6d91d719d2c1ab2bcbfcfae8452513ae..43d6ae774d22385f56a33af22dbbace1f2dad1a0 100644
--- a/exec/load/ircd_user.js
+++ b/exec/load/ircd_user.js
@@ -1552,8 +1552,10 @@ function User_Quit(str,suppress_bcast,is_netsplit,origin) {
 			this.socket.close();
 			if (this.outgoing) {
 				log(LOG_ERROR, "Outgoing USER connection detected!");
-				if (YLines[this.ircclass].active > 0)
-					YLines[this.ircclass].active;
+				if (YLines[this.ircclass].active > 0) {
+					YLines[this.ircclass].active--;
+					log(LOG_DEBUG, "Class "+this_cline.ircclass+" down to "+YLines[this_cline.ircclass].active+" active out of "+YLines[this_cline.ircclass].maxlinks);
+				}
 				else
 					log(LOG_ERROR, format("Class %d YLine going negative", this.ircclass));
 			}