Index: branches/release-30/lib/MT/CMS/Template.pm
===================================================================
--- branches/release-30/lib/MT/CMS/Template.pm (revision 1392)
+++ branches/release-30/lib/MT/CMS/Template.pm (revision 1395)
@@ -443,4 +443,5 @@
         return $app->return_to_dashboard( permission => 1 );
     }
+    my $blog = $app->blog;
 
     require MT::Template;
@@ -448,7 +449,7 @@
     my $filter  = $app->param('filter_key');
     if ( !$filter ) {
-        if ($app->blog) {
-            $filter = 'index_templates';
-            $app->param( 'filter_key', 'index_templates' );
+        if ($blog) {
+            $filter = 'templates';
+            $app->param( 'filter_key', 'templates' );
         }
         else {
@@ -459,5 +460,5 @@
     else {
         # global index templates redirect to module templates
-        if ( !$app->blog && $filter eq 'index_templates' ) {
+        if ( !$blog && $filter eq 'templates' ) {
             $filter = 'module_templates';
             $app->param( 'filter_key', 'module_templates' );
@@ -473,4 +474,9 @@
         if ( $type =~ m/^(individual|page|category|archive)$/ ) {
             $template_type = 'archive';
+            # populate context with templatemap loop
+            my $tblog = $obj->blog_id == $blog->id ? $blog : MT::Blog->load( $obj->blog_id );
+            if ($tblog) {
+                $row->{archive_types} = _populate_archive_loop( $app, $tblog, $obj );
+            }
         }
         elsif ( $type eq 'widget' ) {
@@ -507,7 +513,4 @@
     $params->{template_type}       = $template_type;
     $params->{template_type_label} = $template_type_label;
-
-    #@tt_loop = sort { $a->{label} cmp $b->{label} } @tt_loop;
-    #$params->{template_type_loop} = \@tt_loop;
 
     $app->load_list_actions( 'template', $params );
