diff --git a/mongoose.c b/mongoose.c
index 316de62938bf68e10d9b09046b0b3691693c2756..7840a26497d67a13471e2f421bbe53946097aa9f 100644
--- a/mongoose.c
+++ b/mongoose.c
@@ -10011,7 +10011,7 @@ void mg_send_mqtt_handshake_opt(struct mg_connection *nc, const char *client_id,
     rem_len += 2 + hlen;
 
     hlen = strlen(opts.will_message);
-    nlen = htons((uint16_t) nlen);
+    nlen = htons((uint16_t) hlen);
     mg_send(nc, &nlen, 2);
     mg_send(nc, opts.will_message, hlen);
     rem_len += 2 + hlen;