Added proper super() support for scoped blocks.

--HG--
branch : trunk
diff --git a/jinja2/runtime.py b/jinja2/runtime.py
index 013d987..c2e0aa3 100644
--- a/jinja2/runtime.py
+++ b/jinja2/runtime.py
@@ -173,8 +173,10 @@
 
     def derived(self, locals=None):
         """Internal helper function to create a derived context."""
-        return new_context(self.environment, self.name, self.blocks,
-                           self.parent, True, None, locals)
+        context = new_context(self.environment, self.name, {},
+                              self.parent, True, None, locals)
+        context.blocks.update((k, list(v)) for k, v in self.blocks.iteritems())
+        return context
 
     def _all(meth):
         proxy = lambda self: getattr(self.get_all(), meth)()
diff --git a/tests/test_inheritance.py b/tests/test_inheritance.py
index 6a45f59..13a9d8d 100644
--- a/tests/test_inheritance.py
+++ b/tests/test_inheritance.py
@@ -175,3 +175,12 @@
     }))
     t = env.from_string('{% extends "master.html" %}{% block item %}{{ item }}{% endblock %}')
     assert t.render(seq=range(5)) == '[0][1][2][3][4]'
+
+
+def test_super_in_scoped_block():
+    env = Environment(loader=DictLoader({
+        'master.html': '{% for item in seq %}[{% block item scoped %}'
+                       '{{ item }}{% endblock %}]{% endfor %}'
+    }))
+    t = env.from_string('{% extends "master.html" %}{% block item %}{{ super() }}|{{ item * 2 }}{% endblock %}')
+    assert t.render(seq=range(5)) == '[0|0][1|2][2|4][3|6][4|8]'