allow-recursion-on and allow-query-cache-on should default to each other if only one is set
This is the way allow-recursion and allow-query-cache work, and I think it's confusingly inconsistent for the *-on versions not to behave similarly.
Edited by Evan Hunt