diff --git a/lib/http_negotiate.c b/lib/http_negotiate.c
index 99a4dbdadcc34c99218db610c906d6f09e312d38..9e1a83cccd643705abb26c8eaa1e8d758965cafe 100644
--- a/lib/http_negotiate.c
+++ b/lib/http_negotiate.c
@@ -54,14 +54,14 @@ CURLcode Curl_input_negotiate(struct connectdata *conn, bool proxy,
     userp = conn->proxyuser;
     passwdp = conn->proxypasswd;
     service = data->set.str[STRING_PROXY_SERVICE_NAME];
-    host = conn->host.name;
+    host = conn->proxy.name;
     neg_ctx = &data->state.proxyneg;
   }
   else {
     userp = conn->user;
     passwdp = conn->passwd;
     service = data->set.str[STRING_SERVICE_NAME];
-    host = conn->proxy.name;
+    host = conn->host.name;
     neg_ctx = &data->state.negotiate;
   }