diff --git a/src/server.c b/src/server.c
index 6553c96..48e1d3d 100644
--- a/src/server.c
+++ b/src/server.c
@@ -1878,13 +1878,9 @@
 	}
 
 	if (err_code & ERR_WARN && !(err_code & ERR_ALERT))
-		ha_warning("parsing [%s:%d] : '%s %s' : %s%s%s%s.\n",
-		           file, linenum, args[0], args[1],
-		           msg, quote, token, quote);
+		ha_warning("%s%s%s%s.\n", msg, quote, token, quote);
 	else
-		ha_alert("parsing [%s:%d] : '%s %s' : %s%s%s%s.\n",
-		         file, linenum, args[0], args[1],
-		         msg, quote, token, quote);
+		ha_alert("%s%s%s%s.\n", msg, quote, token, quote);
 }
 
 static void srv_conn_src_sport_range_cpy(struct server *srv,
@@ -2410,6 +2406,7 @@
 			err_code |= ERR_ALERT | ERR_ABORT;
 			goto out;
 		}
+		register_parsing_obj(&newsrv->obj_type);
 
 		if (parse_flags & SRV_PARSE_TEMPLATE) {
 			newsrv->tmpl_info.nb_low = tmpl_range_low;
@@ -2442,7 +2439,6 @@
 		                  errmsg, NULL, &fqdn,
 		                  (parse_flags & SRV_PARSE_INITIAL_RESOLVE ? PA_O_RESOLVE : 0) | PA_O_PORT_OK | PA_O_PORT_OFS | PA_O_STREAM | PA_O_XPRT | PA_O_CONNECT);
 		if (!sk) {
-			memprintf(errmsg, "'%s %s' : %s", args[0], args[1], *errmsg);
 			err_code |= ERR_ALERT | ERR_FATAL;
 			goto out;
 		}
@@ -2652,8 +2648,10 @@
 
 	int cur_arg;
 
+	set_usermsgs_ctx(file, linenum, NULL);
+
 	if (!(parse_flags & SRV_PARSE_DEFAULT_SERVER) && curproxy == defproxy) {
-		ha_alert("parsing [%s:%d] : '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
+		ha_alert("'%s' not allowed in 'defaults' section.\n", args[0]);
 		err_code |= ERR_ALERT | ERR_FATAL;
 		goto out;
 	}
@@ -2671,7 +2669,7 @@
 	err_code = _srv_parse_init(&newsrv, args, &cur_arg, curproxy,
 	                           parse_flags, &errmsg);
 	if (errmsg) {
-		ha_alert("parsing [%s:%d] : %s\n", file, linenum, errmsg);
+		ha_alert("%s\n", errmsg);
 		free(errmsg);
 	}
 
@@ -2716,12 +2714,13 @@
 		_srv_parse_tmpl_init(newsrv, curproxy);
 
 	HA_DIAG_WARNING_COND((curproxy->cap & PR_CAP_LB) && !newsrv->uweight,
-	                     "parsing [%s:%d] : 'server %s' : configured with weight of 0 will never be selected by load balancing algorithms\n",
-	                     file, linenum, newsrv->id);
+	                     "configured with weight of 0 will never be selected by load balancing algorithms\n");
 
+	reset_usermsgs_ctx();
 	return 0;
 
  out:
+	reset_usermsgs_ctx();
 	return err_code;
 }
 
