Index: branches/release-29/lib/MT/Template/ContextHandlers.pm
===================================================================
--- branches/release-29/lib/MT/Template/ContextHandlers.pm (revision 1308)
+++ branches/release-29/lib/MT/Template/ContextHandlers.pm (revision 1333)
@@ -285,4 +285,5 @@
             AuthorNext => \&_hdlr_author_prev_next,
             AuthorPrevious => \&_hdlr_author_prev_next,
+            AuthorBasename => \&_hdlr_author_basename,
 
             BlogID => \&_hdlr_blog_id,
@@ -2366,7 +2367,7 @@
     }
     my %f = (
-        'a' => "<MTAuthorDisplayName $dir>",
-        '-a' => "<MTAuthorDisplayName dirify='-'>",
-        '_a' => "<MTAuthorDisplayName dirify='_'>",
+        'a' => "<MTAuthorBasename $dir>",
+        '-a' => "<MTAuthorBasename dirify='-'>",
+        '_a' => "<MTAuthorBasename dirify='_'>",
         'b' => "<MTEntryBasename $sep>",
         '-b' => "<MTEntryBasename separator='-'>",
@@ -3150,4 +3151,12 @@
     local $ctx->{__stash}{asset} = $asset;
     $builder->build($ctx, $tok, { %$cond });
+}
+
+sub _hdlr_author_basename {
+    my $author = $_[0]->stash('author')
+        or return $_[0]->_no_author_error('MTAuthorBasename');
+    my $name = $author->basename;
+    $name = MT::Util::make_unique_author_basename($author) if !$name;
+    return $name;
 }
 
