diff --git a/src/http_act.c b/src/http_act.c
index e1d9c96..5d3d2e2 100644
--- a/src/http_act.c
+++ b/src/http_act.c
@@ -107,8 +107,11 @@
 	if (objt_server(s->target))
 		_HA_ATOMIC_ADD(&__objt_server(s->target)->counters.failed_rewrites, 1);
 
-	if (!(s->txn->req.flags & HTTP_MSGF_SOFT_RW))
+	if (!(s->txn->req.flags & HTTP_MSGF_SOFT_RW)) {
 		ret = ACT_RET_ERR;
+		if (!(s->flags & SF_ERR_MASK))
+			s->flags |= SF_ERR_PRXCOND;
+	}
 	goto leave;
 }
 
@@ -227,8 +230,11 @@
 	if (objt_server(s->target))
 		_HA_ATOMIC_ADD(&__objt_server(s->target)->counters.failed_rewrites, 1);
 
-	if (!(s->txn->req.flags & HTTP_MSGF_SOFT_RW))
+	if (!(s->txn->req.flags & HTTP_MSGF_SOFT_RW)) {
 		ret = ACT_RET_ERR;
+		if (!(s->flags & SF_ERR_MASK))
+			s->flags |= SF_ERR_PRXCOND;
+	}
 	goto leave;
 }
 
@@ -289,8 +295,11 @@
 		if (objt_server(s->target))
 			_HA_ATOMIC_ADD(&__objt_server(s->target)->counters.failed_rewrites, 1);
 
-		if (!(s->txn->req.flags & HTTP_MSGF_SOFT_RW))
+		if (!(s->txn->req.flags & HTTP_MSGF_SOFT_RW)) {
 			return ACT_RET_ERR;
+			if (!(s->flags & SF_ERR_MASK))
+				s->flags |= SF_ERR_PRXCOND;
+		}
 	}
 
 	return ACT_RET_CONT;
@@ -1187,8 +1196,11 @@
 	if (objt_server(s->target))
 		_HA_ATOMIC_ADD(&__objt_server(s->target)->counters.failed_rewrites, 1);
 
-	if (!(msg->flags & HTTP_MSGF_SOFT_RW))
+	if (!(msg->flags & HTTP_MSGF_SOFT_RW)) {
 		ret = ACT_RET_ERR;
+		if (!(s->flags & SF_ERR_MASK))
+			s->flags |= SF_ERR_PRXCOND;
+	}
 	goto leave;
 }
 
@@ -1297,8 +1309,11 @@
 	if (objt_server(s->target))
 		_HA_ATOMIC_ADD(&__objt_server(s->target)->counters.failed_rewrites, 1);
 
-	if (!(msg->flags & HTTP_MSGF_SOFT_RW))
+	if (!(msg->flags & HTTP_MSGF_SOFT_RW)) {
 		ret = ACT_RET_ERR;
+		if (!(s->flags & SF_ERR_MASK))
+			s->flags |= SF_ERR_PRXCOND;
+	}
 	goto leave;
 }
 
