call->xvnode = vnode;
        call->out_volsync = volsync;
        call->expected_version = new_inode ? 1 : vnode->status.data_version;
-       call->want_reply_time = true;
 
        /* marshall the parameters */
        bp = call->request;
        call->out_volsync = NULL;
        call->read_request = req;
        call->expected_version = vnode->status.data_version;
-       call->want_reply_time = true;
 
        /* marshall the parameters */
        bp = call->request;
        call->out_volsync = NULL;
        call->read_request = req;
        call->expected_version = vnode->status.data_version;
-       call->want_reply_time = true;
 
        /* marshall the parameters */
        bp = call->request;
        call->out_extra_status = newstatus;
        call->out_cb = newcb;
        call->expected_version = current_data_version + 1;
-       call->want_reply_time = true;
 
        /* marshall the parameters */
        bp = call->request;
 
        call->key = fc->key;
        call->xvnode = vnode;
-       call->want_reply_time = true;
 
        /* marshall the parameters */
        bp = call->request;
 
        call->key = fc->key;
        call->xvnode = vnode;
-       call->want_reply_time = true;
 
        /* marshall the parameters */
        bp = call->request;
        call->server = afs_get_server(server);
        call->server_index = server_index;
        call->upgrade = true;
-       call->want_reply_time = true;
        call->async = true;
        call->max_lifespan = AFS_PROBE_MAX_LIFESPAN;
 
        call->out_cb = callback;
        call->out_volsync = volsync;
        call->expected_version = 1; /* vnode->status.data_version */
-       call->want_reply_time = true;
 
        /* marshall the parameters */
        bp = call->request;
        call->out_scb = statuses;
        call->out_volsync = volsync;
        call->count2 = nr_fids;
-       call->want_reply_time = true;
 
        /* marshall the parameters */
        bp = call->request;
 
        bool                    need_attention; /* T if RxRPC poked us */
        bool                    async;          /* T if asynchronous */
        bool                    upgrade;        /* T to request service upgrade */
-       bool                    want_reply_time; /* T if want reply_time */
+       bool                    have_reply_time; /* T if have got reply_time */
        bool                    intr;           /* T if interruptible */
        u16                     service_id;     /* Actual service ID (after upgrade) */
        unsigned int            debug_id;       /* Trace ID */
 
                        return;
                }
 
-               if (call->want_reply_time &&
+               if (!call->have_reply_time &&
                    rxrpc_kernel_get_reply_time(call->net->socket,
                                                call->rxcall,
                                                &call->reply_time))
-                       call->want_reply_time = false;
+                       call->have_reply_time = true;
 
                ret = call->type->deliver(call);
                state = READ_ONCE(call->state);
 
        call->out_volsync = NULL;
        call->read_request = req;
        call->expected_version = vnode->status.data_version;
-       call->want_reply_time = true;
 
        /* marshall the parameters */
        bp = call->request;
 
        call->key = fc->key;
        call->xvnode = vnode;
-       call->want_reply_time = true;
 
        /* marshall the parameters */
        bp = call->request;
 
        call->key = fc->key;
        call->xvnode = vnode;
-       call->want_reply_time = true;
 
        /* marshall the parameters */
        bp = call->request;