Index: branches/release-35/lib/MT/BackupRestore.pm
===================================================================
--- branches/release-35/lib/MT/BackupRestore.pm (revision 1948)
+++ branches/release-35/lib/MT/BackupRestore.pm (revision 1984)
@@ -167,5 +167,6 @@
     my $counter = 1;
     my $bytes = 0;
-    my %author_ids_seen;
+    my %authors_seen;
+    my $author_pkg = MT->model('author');
     for my $class_hash (@$obj_to_backup) {
         my ($class, $term_arg) = each(%$class_hash);
@@ -217,6 +218,6 @@
                 }
                 $count++;
-                if ( ( $class eq MT->model('author') )
-                  && ( exists $author_ids_seen{$object->id} ) ) {
+                if ( ( $class eq $author_pkg )
+                  && ( exists $authors_seen{$object->id} ) ) {
                     next;
                 }
@@ -227,7 +228,7 @@
                     $bytes = 0;
                 }
-                if ( $class eq MT->model('author') ) {
+                if ( $class eq $author_pkg ) {
                     # Authors may be duplicated because of how terms and args are created.
-                    $author_ids_seen{$object->id} = 1;
+                    $authors_seen{$object->id} = 1;
                 } elsif ( $class->datasource eq 'asset' ) {
                     $files->{$object->id} = [$object->url, $object->file_path, $object->file_name];
@@ -238,5 +239,8 @@
                 if $records && ($records % 100 == 0);
         }
-        if ($records) {
+        if ( $class eq $author_pkg && %authors_seen ) {
+            my $count = scalar(keys %authors_seen);
+            $progress->($state . " " . MT->translate("[_1] records backed up.", $count), $class->class_type || $class->datasource);
+        } elsif ($records) {
             $progress->($state . " " . MT->translate("[_1] records backed up.", $records), $class->class_type || $class->datasource);
         } else {
