diff --git a/lib/modules/Protocols.pmod/DNS.pmod b/lib/modules/Protocols.pmod/DNS.pmod
index 42e6f1dcfc2b070bfb1c2a70fe9b79fe4907c872..bcab072775cc12aeb88a2d4a33213d94f2630879 100644
--- a/lib/modules/Protocols.pmod/DNS.pmod
+++ b/lib/modules/Protocols.pmod/DNS.pmod
@@ -413,7 +413,14 @@ class async_client
     {
       callback(domain,0,@args);
     }else{
-      callback(domain,answer->an[0][field],@args);
+      foreach(answer->an, array an)
+	if(an[field])
+	{
+	  callback(domain,an[field],@args);
+	  return;
+	}
+      callback(domain,0,@args);
+      return;
     }
   }