diff --git a/mongoose.c b/mongoose.c
index 84217e3a851cb9ebc87fbddfc155cba701089f26..e5ba8322c13c3dd416f207ae7bcfaf1e7fcd3b2a 100644
--- a/mongoose.c
+++ b/mongoose.c
@@ -7421,8 +7421,8 @@ MG_INTERNAL int mg_http_common_url_parse(const char *url, const char *schema,
 
   if (addr_len == 0) goto cleanup;
   if (port_pos < 0) {
-    *port_i = *use_ssl ? 443 : 80;
-    addr_len += sprintf(*addr + addr_len, ":%d", *port_i);
+    *port_i = addr_len;
+    addr_len += sprintf(*addr + addr_len, ":%d", *use_ssl ? 443 : 80);
   } else {
     *port_i = -1;
   }