diff --git a/lib/url.c b/lib/url.c
index 0cab0a303dd206eaaae9004ec708a7b9eed57cb8..f1a6e8db48db0629eb2822bca93cced63795af1c 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -1465,6 +1465,7 @@ ConnectionExists(struct Curl_easy *data,
   if(chosen) {
     /* mark it as used before releasing the lock */
     chosen->inuse = TRUE;
+    chosen->data = data; /* own it! */
     Curl_conncache_unlock(needle);
     *usethis = chosen;
     return TRUE; /* yes, we found one to use! */