diff --git a/lib/hostip.c b/lib/hostip.c
index 23bd532f3d5b816ba58f0bce9cbc1d2e0596ae2f..bae94af7ac66d6485a819c15de64d857185d6f4f 100644
--- a/lib/hostip.c
+++ b/lib/hostip.c
@@ -409,10 +409,9 @@ CURLcode Curl_is_resolved(struct connectdata *conn, bool *done)
     ares_process(data->state.areschannel, &read_fds, &write_fds);
 
   if(conn->async.done) {
-    *done = TRUE;
-
     if(!conn->async.dns)
       return CURLE_COULDNT_RESOLVE_HOST;
+    *done = TRUE;
   }
   else
     *done = FALSE;