diff --git a/src/server.c b/src/server.c
index 3343237..9a450a7 100644
--- a/src/server.c
+++ b/src/server.c
@@ -3951,8 +3951,8 @@
 /*
  * SRV record error management callback
  * returns:
- *  0 on error
- *  1 when no error or safe ignore
+ *  0 if we can trash answser items.
+ *  1 when safely ignored and we must kept answer items
  *
  * Grabs the server's lock.
  */
@@ -3967,7 +3967,7 @@
 	/* SRV records */
 	srvrq = objt_dns_srvrq(requester->owner);
 	if (!srvrq)
-		return 1;
+		return 0;
 
 	resolvers = srvrq->resolvers;
 	res = requester->resolution;
@@ -4019,16 +4019,14 @@
 		HA_SPIN_UNLOCK(SERVER_LOCK, &s->lock);
 	}
 
-	dns_purge_resolution_answer_records(res);
-
-	return 1;
+	return 0;
 }
 
 /*
  * Server Name Resolution error management callback
  * returns:
- *  0 on error
- *  1 when no error or safe ignore
+ *  0 if we can trash answser items.
+ *  1 when safely ignored and we must kept answer items
  *
  * Grabs the server's lock.
  */
@@ -4038,11 +4036,16 @@
 
 	s = objt_server(requester->owner);
 	if (!s)
-		return 1;
+		return 0;
+
 	HA_SPIN_LOCK(SERVER_LOCK, &s->lock);
-	if (!snr_update_srv_status(s, 1))
+	if (!snr_update_srv_status(s, 1)) {
 		memset(&s->addr, 0, sizeof(s->addr));
+		HA_SPIN_UNLOCK(SERVER_LOCK, &s->lock);
+		return 0;
+	}
 	HA_SPIN_UNLOCK(SERVER_LOCK, &s->lock);
+
 	return 1;
 }
 
