diff --git a/jinja2/runtime.py b/jinja2/runtime.py
index 8fb3f0b..d734182 100644
--- a/jinja2/runtime.py
+++ b/jinja2/runtime.py
@@ -178,10 +178,11 @@
 class LoopContext(object):
     """A loop context for dynamic iteration."""
 
-    def __init__(self, iterable, enforce_length=False):
+    def __init__(self, iterable, enforce_length=False, recurse=None):
         self._iterable = iterable
         self._next = iter(iterable).next
         self._length = None
+        self._recurse = recurse
         self.index0 = -1
         if enforce_length:
             len(self)
@@ -204,6 +205,12 @@
     def __iter__(self):
         return self
 
+    def __call__(self, iterable):
+        if self._recurse is None:
+            raise TypeError('Tried to call non recursive loop.  Maybe you '
+                            'forgot the "recursive" keyword.')
+        return self._recurse(iterable, self._recurse)
+
     def next(self):
         self.index0 += 1
         return self._next(), self
