Index: talk.module
===================================================================
--- talk.module	(revision 456)
+++ talk.module	(working copy)
@@ -203,10 +203,10 @@
   $node = $variables['node'];
   $variables['title'] = talk_title();
   $comment_link = '';
-  if ($add_comments) {
-    $comment_link = l(t('Add new comment'), "comment/reply/$node->nid");
+  $comments = comment_render($node, 0);
+  if ($add_comments && $node->comment_count > 0) {
+    $comment_link = l(t('Add new comment'), "node/$node->nid/talk", array('fragment' => 'comment-form'));
   }
-  $comments = comment_render($node, 0);
   $redisplay = FALSE;
   if ($node->comment_count > 1 && $add_comments) {
     $redisplay = TRUE;
@@ -214,4 +214,4 @@
   $variables['redisplay'] = $redisplay;
   $variables['comment_link'] = $comment_link;
   $variables['comments'] = $comments;
-}
\ No newline at end of file
+}
Index: talkpage.tpl.php
===================================================================
--- talkpage.tpl.php	(revision 456)
+++ talkpage.tpl.php	(working copy)
@@ -10,13 +10,15 @@
  *   $title represents the title of the talk page. Defaults to "Talk".
  */
 ?>
-<p>
-<?php print $comment_link; ?>
-</p>
-<br />
+<?php if ($comment_link): ?>
+  <p>
+  <?php print $comment_link; ?>
+  </p>
+  <br />
+<?php endif; ?>
 <?php print $comments; ?>
 <?php if ($redisplay): ?>
   <p>
   <?php print $comment_link; ?>
   </p>
-<?php endif; ?>
\ No newline at end of file
+<?php endif; ?>
