diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp
index 2a53749a72d4c1fd2027c00b471e56256609cda4..171de80fd7a6b91a288cb8b4434d3fab3e6f6197 100644
--- a/src/sbbs3/main.cpp
+++ b/src/sbbs3/main.cpp
@@ -2544,7 +2544,7 @@ void output_thread(void* arg)
 				RingBufWrite(startup->node_spybuf[sbbs->cfg.node_num-1],buf+bufbot,i);
 			}
 			/* Spy on the user remotely */
-			if(sbbs->cfg.mqtt.enabled) {
+			if(sbbs->cfg.mqtt.enabled && mqtt.handle != NULL) {
 				int result = mqtt_pub_message(&mqtt, TOPIC_BBS, spy_topic, buf+bufbot, i, /* retain: */false);
 				if(result != MQTT_SUCCESS)
 					lprintf(LOG_WARNING, "%s ERROR %d (%d) publishing node output (%u bytes): %s"
diff --git a/src/sbbs3/putnode.cpp b/src/sbbs3/putnode.cpp
index bc80f53ef272d77f8097deea30406eecd7c0ab12..2b539041bd43810041d22d06e150b0fc3def2832 100644
--- a/src/sbbs3/putnode.cpp
+++ b/src/sbbs3/putnode.cpp
@@ -91,7 +91,7 @@ int sbbs_t::putnodedat(uint number, node_t* node)
 	}
 	pthread_mutex_unlock(&nodefile_mutex);
 
-	if(cfg.mqtt.enabled) {
+	if(cfg.mqtt.enabled && mqtt->handle != NULL) {
 		snprintf(str, sizeof(str), "%u\t%u\t%u\t%u\t%x\t%u\t%u\t%u"
 			,node->status
 			,node->action