diff --git a/src/sbbs3/umonitor/umonitor.c b/src/sbbs3/umonitor/umonitor.c
index 8e037990af41e800e03c7f588634398d92e4c36a..991a561f7aea5d00234c5d64563785e9f105e4e4 100644
--- a/src/sbbs3/umonitor/umonitor.c
+++ b/src/sbbs3/umonitor/umonitor.c
@@ -469,7 +469,7 @@ int main(int argc, char** argv)  {
 				uifc.msg("Error reading node data!");
 				continue;
 			}
-			if((node.status&NODE_INUSE) && node.useron)
+			if((node.status==NODE_INUSE) && node.useron)
 				chat(&cfg,main_dflt+1,&node,&boxch,uifc.timedisplay);
 			continue;
 		}
@@ -553,10 +553,11 @@ int main(int argc, char** argv)  {
 			strcpy(opt[i++],"Spy on node");
 			strcpy(opt[i++],"Node toggles");
 			strcpy(opt[i++],"Clear Errors");
-			getnodedat(&cfg,j+1,&node,NULL);
-			if((node.status&NODE_INUSE) && node.useron) {
-				strcpy(opt[i++],"Send message to user");
-				strcpy(opt[i++],"Chat with user");
+			if(!getnodedat(&cfg,j+1,&node,NULL)) {
+				if((node.status==NODE_INUSE) && node.useron) {
+					strcpy(opt[i++],"Send message to user");
+					strcpy(opt[i++],"Chat with user");
+				}
 			}
 			opt[i][0]=0;
 			i=0;