diff --git a/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike b/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike
index 8dfa96d0e7295f377da2b31c7bc04f849aab6391..067953f74086e305c11a909d074a3b74d2dfa23f 100644
--- a/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike
+++ b/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike
@@ -338,7 +338,7 @@ void async_fetch_close()
    con->set_blocking();
    destruct(con);
    con=0;
-   request_ok(@extra_args);
+   if (request_ok) (request_ok)(@extra_args);
 }
 
 /****** utilities **************************************************/
@@ -677,7 +677,7 @@ void destroy()
    catch { con->close(); destruct(con); };
 }
 
-void async_fetch(function callback,array ... extra)
+void async_fetch(function callback,mixed ... extra)
 {
    if (!con)
    {