diff -r d8bda98fcbbe tg/controllers/decoratedcontroller.py --- a/tg/controllers/decoratedcontroller.py Sun Sep 27 02:34:04 2009 -0600 +++ b/tg/controllers/decoratedcontroller.py Sun Sep 27 08:40:39 2009 -0400 @@ -81,7 +81,7 @@ controller.decoration.run_hooks('before_validate', remainder, params) - validate_params = self._get_params_with_argspec(controller, params, remainder) + validate_params, remainder = self._get_params_with_argspec(controller, params, remainder) for ignore in config.get('ignore_parameters', []): if params.get(ignore): diff -r d8bda98fcbbe tg/controllers/dispatcher.py --- a/tg/controllers/dispatcher.py Sun Sep 27 02:34:04 2009 -0600 +++ b/tg/controllers/dispatcher.py Sun Sep 27 08:40:39 2009 -0400 @@ -105,8 +105,8 @@ for i, var in enumerate(argvars): if i >= len(remainder): break - params[var] = remainder[i] - return params + params[var] = remainder.pop(i) + return params, remainder def _remove_argspec_params_from_params(self, func, params, remainder): """Remove parameters from the argument list that are