diff --git a/src/dns.c b/src/dns.c
index 5f9e7ea..6e726bf 100644
--- a/src/dns.c
+++ b/src/dns.c
@@ -537,7 +537,8 @@
 				HA_SPIN_LOCK(SERVER_LOCK, &srv->lock);
 				if (srv->srvrq == srvrq && srv->svc_port == item->port &&
 				    item->data_len == srv->hostname_dn_len &&
-				    !memcmp(srv->hostname_dn, item->target, item->data_len)) {
+				    !memcmp(srv->hostname_dn, item->target, item->data_len) &&
+				    !srv->dns_opts.ignore_weight) {
 					int ha_weight;
 
 					/* DNS weight range if from 0 to 65535
@@ -589,15 +590,17 @@
 				    !(srv->flags & SRV_F_CHECKPORT))
 					srv->check.port = item->port;
 
-				/* DNS weight range if from 0 to 65535
-				 * HAProxy weight is from 0 to 256
-				 * The rule below ensures that weight 0 is well respected
-				 * while allowing a "mapping" from DNS weight into HAProxy's one.
-				 */
-				ha_weight = (item->weight + 255) / 256;
+				if (!srv->dns_opts.ignore_weight) {
+					/* DNS weight range if from 0 to 65535
+					 * HAProxy weight is from 0 to 256
+					 * The rule below ensures that weight 0 is well respected
+					 * while allowing a "mapping" from DNS weight into HAProxy's one.
+					 */
+					ha_weight = (item->weight + 255) / 256;
 
-				snprintf(weight, sizeof(weight), "%d", ha_weight);
-				server_parse_weight_change_request(srv, weight);
+					snprintf(weight, sizeof(weight), "%d", ha_weight);
+					server_parse_weight_change_request(srv, weight);
+				}
 				HA_SPIN_UNLOCK(SERVER_LOCK, &srv->lock);
 			}
 		}
diff --git a/src/server.c b/src/server.c
index 6b74024..ac7ea37 100644
--- a/src/server.c
+++ b/src/server.c
@@ -1796,6 +1796,7 @@
 		srv->resolvers_id = strdup(src->resolvers_id);
 	srv->dns_opts.family_prio = src->dns_opts.family_prio;
 	srv->dns_opts.accept_duplicate_ip = src->dns_opts.accept_duplicate_ip;
+	srv->dns_opts.ignore_weight = src->dns_opts.ignore_weight;
 	if (srv->dns_opts.family_prio == AF_UNSPEC)
 		srv->dns_opts.family_prio = AF_INET6;
 	memcpy(srv->dns_opts.pref_net,
@@ -2451,11 +2452,14 @@
 					if (!strcmp(p, "allow-dup-ip")) {
 						newsrv->dns_opts.accept_duplicate_ip = 1;
 					}
+					else if (!strcmp(p, "ignore-weight")) {
+						newsrv->dns_opts.ignore_weight = 1;
+					}
 					else if (!strcmp(p, "prevent-dup-ip")) {
 						newsrv->dns_opts.accept_duplicate_ip = 0;
 					}
 					else {
-						ha_alert("parsing [%s:%d]: '%s' : unknown resolve-opts option '%s', supported methods are 'allow-dup-ip' and 'prevent-dup-ip'.\n",
+						ha_alert("parsing [%s:%d]: '%s' : unknown resolve-opts option '%s', supported methods are 'allow-dup-ip', 'ignore-weight', and 'prevent-dup-ip'.\n",
 								file, linenum, args[cur_arg], p);
 						err_code |= ERR_ALERT | ERR_FATAL;
 						goto out;
