diff --git a/lib/modules/Concurrent.pmod b/lib/modules/Concurrent.pmod
index 3516456e3149335bdbb23ab14649039d9ea13afd..8f9abceb3fd0bd1cbc03c39f2119e5bd0bcc5ea2 100644
--- a/lib/modules/Concurrent.pmod
+++ b/lib/modules/Concurrent.pmod
@@ -737,9 +737,10 @@ class Future
     array call_out_handle;
     function backend_remove_call_out;
 
-    call_out_handle = (backend->?call_out || call_out)
+    call_out_handle = ((backend && backend->call_out) || call_out)
       (p->try_failure, seconds, ({ "Timeout.\n", backtrace() }));
-    backend_remove_call_out = backend->?remove_call_out || remove_call_out;
+    backend_remove_call_out =
+      (backend && backend->remove_call_out) || remove_call_out;
 
     on_success(
       lambda(mixed res)