diff --git a/src/sbbs3/mqtt.c b/src/sbbs3/mqtt.c
index d19c6fe5df64f02c7f2c75f677a702fd90eeb462..f917eac53e9d0fe172f8170abc0a509da346fa6f 100644
--- a/src/sbbs3/mqtt.c
+++ b/src/sbbs3/mqtt.c
@@ -191,10 +191,12 @@ int mqtt_lputs(struct mqtt* mqtt, enum topic_depth depth, int level, const char*
 		int result;
 		char sub[128];
 		mqtt_topic(mqtt, depth, sub, sizeof(sub), "log/%d", level);
-		char timestamp[32];
 		mosquitto_property* props = NULL;
-		time_to_isoDateTimeStr(time(NULL), xpTimeZone_local(), timestamp, sizeof(timestamp));
-		mosquitto_property_add_string_pair(&props, MQTT_PROP_USER_PROPERTY, "time", timestamp);
+		if(mqtt->cfg->mqtt.protocol_version >= 5) {
+			char timestamp[32];
+			time_to_isoDateTimeStr(time(NULL), xpTimeZone_local(), timestamp, sizeof(timestamp));
+			mosquitto_property_add_string_pair(&props, MQTT_PROP_USER_PROPERTY, "time", timestamp);
+		}
 		result = mosquitto_publish_v5(mqtt->handle,
 			/* mid: */NULL,
 			/* topic: */sub,
@@ -205,9 +207,11 @@ int mqtt_lputs(struct mqtt* mqtt, enum topic_depth depth, int level, const char*
 			/* properties */props);
 		if(result == MQTT_SUCCESS) {
 			mqtt_topic(mqtt, depth, sub, sizeof(sub), "log");
-			char lvl[32];
-			sprintf(lvl, "%d", level);
-			mosquitto_property_add_string_pair(&props, MQTT_PROP_USER_PROPERTY, "level", lvl);
+			if(mqtt->cfg->mqtt.protocol_version >= 5) {
+				char lvl[32];
+				sprintf(lvl, "%d", level);
+				mosquitto_property_add_string_pair(&props, MQTT_PROP_USER_PROPERTY, "level", lvl);
+			}
 			result = mosquitto_publish_v5(mqtt->handle,
 				/* mid: */NULL,
 				/* topic: */sub,