Index: genshi/template/markup.py
===================================================================
--- genshi/template/markup.py	(revision 462)
+++ genshi/template/markup.py	(working copy)
@@ -143,7 +143,8 @@
                         fallback_stream = []
 
                 else:
-                    stream.append((kind, (tag, new_attrs), pos))
+                    s = (stream, fallback_stream)[in_fallback]
+                    s.append((kind, (tag, new_attrs), pos))
 
                 depth += 1
 
@@ -171,16 +172,19 @@
                                               pos)]
 
             elif kind is TEXT:
+                s = (stream, fallback_stream)[in_fallback]
                 for kind, data, pos in self._interpolate(data, self.basedir,
                                                          *pos):
-                    stream.append((kind, data, pos))
+                    s.append((kind, data, pos))
 
             elif kind is COMMENT:
+                s = (stream, fallback_stream)[in_fallback]
                 if not data.lstrip().startswith('!'):
-                    stream.append((kind, data, pos))
+                    s.append((kind, data, pos))
 
             else:
-                stream.append((kind, data, pos))
+                s = (stream, fallback_stream)[in_fallback]
+                s.append((kind, data, pos))
 
         return stream
 
