Unsetting the variables and letting this fall through seems really hacky since now we're pretending that it's a core.ShowItem request because we want to redirect to an item.  If we keep tweaking the code, this fallthrough is eventually going to bite us in the ass.  I think that all of this code really needs a refactor.  Next change here should be such refactor, but if we're done here for a while then I'm ok leaving it the way it is.