Found it. I needed to NOT use list($id) = pnVarCleanFromInput('id'), but rather $id=pnVarCleanFromInput('id'). Very confusing, considering other places in the Template module use list($tid, $next) = pnVarCleanFromInput('id','next'); Wow. A function that is stubbornly context sensitive, and returns a non-list when it doesn't need to. --Alexander