diff --git a/src/sbbs3/mqtt.c b/src/sbbs3/mqtt.c
index f2c119c228eead8683abf3d84d4235ca00104ed1..239155fbc724f23fdbc7b26ef1c6da355f02e789 100644
--- a/src/sbbs3/mqtt.c
+++ b/src/sbbs3/mqtt.c
@@ -503,7 +503,8 @@ int mqtt_startup(struct mqtt* mqtt, scfg_t* cfg, struct startup* startup, const
 	mqtt_pub_uintval(mqtt, TOPIC_SERVER, "served", mqtt->served);
 
 #ifdef USE_MOSQUITTO
-	mosquitto_message_callback_set(mqtt->handle, mqtt_message_received);
+	if(mqtt->handle != NULL)
+		mosquitto_message_callback_set(mqtt->handle, mqtt_message_received);
 #endif
 	if(mqtt->startup->type == SERVER_TERM) {
 		bbs_startup_t* bbs_startup = (bbs_startup_t*)startup;