diff -up httpd-2.3.5-alpha/server/protocol.c.keepalivequiet httpd-2.3.5-alpha/server/protocol.c --- httpd-2.3.5-alpha/server/protocol.c.keepalivequiet 2010-03-04 19:50:04.321471001 -0500 +++ httpd-2.3.5-alpha/server/protocol.c 2010-03-04 21:33:52.657724234 -0500 @@ -923,7 +923,12 @@ request_rec *ap_read_request(conn_rec *c } else if (r->status == HTTP_REQUEST_TIME_OUT) { ap_update_child_status(conn->sbh, SERVER_BUSY_LOG, r); - ap_run_log_transaction(r); + csd = ap_get_module_config(conn->conn_config, &core_module); + apr_socket_timeout_get(csd, &cur_timeout); + if (conn->keepalive != AP_CONN_KEEPALIVE + || cur_timeout != conn->base_server->keep_alive_timeout) { + ap_run_log_transaction(r); + } apr_brigade_destroy(tmp_bb); goto traceout; }