diff -r 1aa43b891ce9 django/core/urlresolvers.py
--- a/django/core/urlresolvers.py	Thu Apr 30 11:22:23 2009 -0400
+++ b/django/core/urlresolvers.py	Fri Jun 05 22:34:10 2009 -0400
@@ -237,6 +237,7 @@
             raise NoReverseMatch("Error importing '%s': %s." % (lookup_view, e))
         possibilities = self.reverse_dict.getlist(lookup_view)
         for possibility, pattern in possibilities:
+            # result is callable
             for result, params in possibility:
                 if args:
                     if len(args) != len(params):
diff -r 1aa43b891ce9 django/utils/functional.py
--- a/django/utils/functional.py	Thu Apr 30 11:22:23 2009 -0400
+++ b/django/utils/functional.py	Fri Jun 05 22:34:10 2009 -0400
@@ -123,11 +123,11 @@
 
     Only the first num_args are considered when creating the key.
     """
-    def wrapper(*args):
+    def wrapper(*args, **kwargs):
         mem_args = args[:num_args]
         if mem_args in cache:
             return cache[mem_args]
-        result = func(*args)
+        result = func(*args, **kwargs)
         cache[mem_args] = result
         return result
     return wraps(func)(wrapper)
