The promise doesn't always return the values if there is any autocomplete and the promise is resolved before the set_default is called. So we use our custom deferred that will be resolved after the call to set_default and the autocomplete promises. issue5222 review19721002