--- decorators.py.orig	2009-12-10 19:48:32.000000000 +0100
+++ decorators.py	2009-12-10 20:04:41.000000000 +0100
@@ -456,12 +456,12 @@
             argvars = inspect.getargspec(f)[0][1:]
             if argvars:
                 args = list(args)
-                for i, var in enumerate(args):
-                    if i>=len(argvars):
+                for i, var in enumerate(args[1:]):
+                    if i >= len(argvars):
                         break;
                     var = argvars[i]
                     if var in kwargs:
-                        args[i] = kwargs[var]
+                        args[i + 1] = kwargs[var]
                         del kwargs[var]
             
             res = f(*args, **kwargs)

