Index: /branches/release-38/lib/MT/CMS/Template.pm
===================================================================
--- /branches/release-38/lib/MT/CMS/Template.pm (revision 2361)
+++ /branches/release-38/lib/MT/CMS/Template.pm (revision 2382)
@@ -2063,4 +2063,5 @@
     require MT::CMS::Blog;
     my $return_args;
+    my $reedit = $app->param('reedit');
     if (@ids) {
         # we have more to do after this, so save the list
@@ -2072,17 +2073,17 @@
                 blog_id => scalar $app->param('blog_id'),
                 id => join(",", @ids),
+                reedit => $reedit,
             }
         );
     } else {
-        # nothing left after this publish operation; just return
-        # to the edit screen.
+        my $mode = $reedit ? 'view' : 'list';
         $return_args = $app->uri_params(
-            mode => 'view',
+            mode => $mode,
             args => {
                 _type     => 'template',
                 blog_id   => scalar $app->param('blog_id'),
                 published => 1,
-                id        => $tmpl_id,
                 saved     => 1,
+                ( $reedit ? ( id => $reedit ) : () ),
             }
         );
Index: /branches/release-38/lib/MT/CMS/Common.pm
===================================================================
--- /branches/release-38/lib/MT/CMS/Common.pm (revision 2301)
+++ /branches/release-38/lib/MT/CMS/Common.pm (revision 2382)
@@ -355,4 +355,5 @@
                 # archive rebuild support
                 $q->param( 'id', $obj->id );
+                $q->param( 'reedit', $obj->id );
                 return $app->forward( 'publish_archive_templates' );
             }
