diff --git a/src/proto_http.c b/src/proto_http.c
index 670ecd1..2c33a84 100644
--- a/src/proto_http.c
+++ b/src/proto_http.c
@@ -7222,12 +7222,25 @@
                               struct buffer *buf, struct http_msg *msg,
 			      int state, struct proxy *other_end)
 {
-	es->len = buf->r - (buf->data + msg->som);
-	memcpy(es->buf, buf->data + msg->som, MIN(es->len, sizeof(es->buf)));
+	if (buf->r <= (buf->data + msg->som)) { /* message wraps */
+		int len1 = buf->size - msg->som;
+		es->len = buf->r - (buf->data + msg->som) + buf->size;
+		memcpy(es->buf, buf->data + msg->som, MIN(len1, sizeof(es->buf)));
+		if (es->len > len1 && len1 < sizeof(es->buf))
+			memcpy(es->buf, buf->data, MIN(es->len, sizeof(es->buf)) - len1);
+	}
+	else {
+		es->len = buf->r - (buf->data + msg->som);
+		memcpy(es->buf, buf->data + msg->som, MIN(es->len, sizeof(es->buf)));
+	}
+
 	if (msg->err_pos >= 0)
 		es->pos  = msg->err_pos - msg->som;
-	else
+	else if (buf->lr >= (buf->data + msg->som))
 		es->pos  = buf->lr - (buf->data + msg->som);
+	else
+		es->pos  = buf->lr - (buf->data + msg->som) + buf->size;
+
 	es->when = date; // user-visible date
 	es->sid  = s->uniq_id;
 	es->srv  = s->srv;
