diff --git a/src/sbbs3/umonitor/umonitor.c b/src/sbbs3/umonitor/umonitor.c
index eebe95cc515a0c36730594a051f14390c92a20fb..2880534314567e4ffcfa0c62fc46d7dd7bc166cd 100644
--- a/src/sbbs3/umonitor/umonitor.c
+++ b/src/sbbs3/umonitor/umonitor.c
@@ -494,9 +494,9 @@ void node_toggles(int nodenum)  {
 				break;
 
 			case 5:	/* Down */
-				if(node.status == NODE_INUSE)
+				if(node.status == NODE_INUSE || node.status==NODE_LOGON)
 					node.misc ^= NODE_DOWN;
-				if(node.status != NODE_INUSE) {
+				else {
 					if(node.status!=NODE_OFFLINE)
 						node.status=NODE_OFFLINE;
 					else