Fixes for requests with optional objectives, and other minor fixes

From #905, rebased onto `release/0.9a20` branch