diff --git a/proxy/http/HttpTransact.cc b/proxy/http/HttpTransact.cc index 4edab3d451d..1de69842c4b 100644 --- a/proxy/http/HttpTransact.cc +++ b/proxy/http/HttpTransact.cc @@ -3675,7 +3675,9 @@ HttpTransact::handle_response_from_parent(State *s) // Done trying parents... fail over to origin server if that is // appropriate DebugTxn("http_trans", "[handle_response_from_parent] Error. No more retries."); - s->parent_params->markParentDown(&s->parent_result); + if (s->current.state == CONNECTION_ERROR) { + s->parent_params->markParentDown(&s->parent_result); + } s->parent_result.result = PARENT_FAIL; next_lookup = find_server_and_update_current_info(s); }