diff --git a/mongoose.c b/mongoose.c
index e6edab394b1fc448d6cd9b3f41100bd8d108540f..3dfe789a317d20cd67e03fec1226dbab3b62ad9b 100644
--- a/mongoose.c
+++ b/mongoose.c
@@ -7919,6 +7919,9 @@ struct mg_connection *mg_connect_http_base(
     goto out;
   }
 
+  /* If query is present, do not strip it. Pass to the caller. */
+  if (query.len > 0) path->len += query.len + 1;
+
   if (scheme.len == 0 || mg_vcmp(&scheme, scheme1) == 0 ||
       (scheme2 != NULL && mg_vcmp(&scheme, scheme2) == 0)) {
     use_ssl = 0;