Index: /branches/release-38/lib/MT/App/Comments.pm
===================================================================
--- /branches/release-38/lib/MT/App/Comments.pm (revision 2263)
+++ /branches/release-38/lib/MT/App/Comments.pm (revision 2350)
@@ -970,8 +970,8 @@
 
     if ( $comment->visible ) {
-
+        $app->publisher->start_time(time);
         # Rebuild the entry synchronously so that if the user gets
         # redirected to the indiv. page it will be up-to-date.
-        $app->rebuild_entry( Entry => $entry->id )
+        $app->rebuild_entry( Entry => $entry->id, Force => 1, PreferredArchiveOnly => 1 )
           or return $app->handle_error(
             $app->translate( "Publish failed: [_1]", $app->errstr ) );
@@ -991,6 +991,8 @@
     MT::Util::start_background_task(
         sub {
-            $app->rebuild_indexes( Blog => $blog )
-              or return $app->errtrans( "Publish failed: [_1]", $app->errstr );
+            $app->rebuild_entry( Entry => $entry->id, BuildDependencies => 1 )
+              or return $app->handle_error(
+                $app->translate( "Publish failed: [_1]", $app->errstr ) );
+
             $app->_send_comment_notification( $comment, $comment_link, $entry,
                 $blog, $commenter );
Index: /branches/release-38/lib/MT/WeblogPublisher.pm
===================================================================
--- /branches/release-38/lib/MT/WeblogPublisher.pm (revision 2343)
+++ /branches/release-38/lib/MT/WeblogPublisher.pm (revision 2350)
@@ -414,5 +414,5 @@
                     : (),
                     NoStatic => $param{NoStatic},
-                    # Force    => ($param{Force} ? 1 : 0),
+                    Force    => ($param{Force} ? 1 : 0),
                     Author   => $entry->author,
                 ) or return;
@@ -1803,4 +1803,6 @@
     return 1 if $throttle->{type} != MT::PublishOption::ASYNC();
 
+    return 1 if $args{force}; # if async, but force is used, publish
+
     require MT::TheSchwartz;
     require TheSchwartz::Job;
