Support included blocks override
diff --git a/jinja2/compiler.py b/jinja2/compiler.py
index b21cb38..5eab2b7 100644
--- a/jinja2/compiler.py
+++ b/jinja2/compiler.py
@@ -950,9 +950,16 @@
             self.indent()
 
         if node.with_context:
+            self.writeline('include_context = template.new_context('
+                           'context.parent, True, locals())')
+            self.writeline('for name, context_blocks in context.'
+                           'blocks.%s():' % dict_item_iter)
+            self.indent()
+            self.writeline('include_context.blocks.setdefault('
+                           'name, [])[0:0] = context_blocks')
+            self.outdent()
             self.writeline('for event in template.root_render_func('
-                           'template.new_context(context.parent, True, '
-                           'locals())):')
+                           'include_context):')
         else:
             self.writeline('for event in template.module._body_stream:')