41a6c3
diff --git a/server/scoreboard.c b/server/scoreboard.c
41a6c3
index bef2b90..c8ef6a3 100644
41a6c3
--- a/server/scoreboard.c
41a6c3
+++ b/server/scoreboard.c
41a6c3
@@ -484,8 +484,14 @@ static int update_child_status_internal(int child_num,
41a6c3
             ws->conn_bytes = 0;
41a6c3
         }
41a6c3
         if (r) {
41a6c3
-            apr_cpystrn(ws->client, ap_get_remote_host(c, r->per_dir_config,
41a6c3
-                        REMOTE_NOLOOKUP, NULL), sizeof(ws->client));
41a6c3
+            const char *client = ap_get_remote_host(c, r->per_dir_config,
41a6c3
+                                 REMOTE_NOLOOKUP, NULL);
41a6c3
+            if (!client || !strcmp(client, c->client_ip)) {
41a6c3
+                apr_cpystrn(ws->client, r->useragent_ip, sizeof(ws->client));
41a6c3
+            }
41a6c3
+            else {
41a6c3
+                apr_cpystrn(ws->client, client, sizeof(ws->client));
41a6c3
+            }
41a6c3
             copy_request(ws->request, sizeof(ws->request), r);
41a6c3
             if (r->server) {
41a6c3
                 apr_snprintf(ws->vhost, sizeof(ws->vhost), "%s:%d",