diff --git a/lib/modules/Remote.pmod/connection.pike b/lib/modules/Remote.pmod/connection.pike
index 49008da5c190f1d45a9f522d1a3612b10fc0e150..cb3fefdd1c853c24596e855596c85bd4ffac13e1 100644
--- a/lib/modules/Remote.pmod/connection.pike
+++ b/lib/modules/Remote.pmod/connection.pike
@@ -249,6 +249,7 @@ int request_size = 0;
 
 void provide_result(int refno, mixed result)
 {
+    finished_calls[ refno ] = result;
 //   if (functionp(pending_calls[refno]))
 //   {
 //     DEBUGMSG("calling completion function for request "+refno+"\n");
@@ -256,7 +257,6 @@ void provide_result(int refno, mixed result)
 //   }
 //   else
 //   {
-    finished_calls[refno] = result;
 //     m_delete(pending_calls, refno);
 //   }
 }
@@ -308,7 +308,7 @@ void do_call (array data)
 	break;
 
       case CTX_CALL_ASYNC: // an asynchronous call
-	mixed e = catch { f(@args); };
+	e = catch { f(@args); };
 	if (e) {
 	  catch (e[1] = e[1][sizeof(backtrace())-1..]);
 	  return_error(refno, e);