Index: ajax_comments/ajax_comments.js
===================================================================
--- ajax_comments/ajax_comments.js  (original)
+++ ajax_comments/ajax_comments.js  (working copy)
@@ -742,6 +742,22 @@
     }
   }
   else {
+    var comment_form = obj.find('#comment-form');
+    obj.find('#comment-form-content').remove();
+
+    if (comment_form.length) {
+      var saved_class = $('#comment-form').attr('class');
+      saved_class = saved_class.replace('ajax-comments-processed', '');
+
+      $('#comment-form').replaceWith(comment_form);
+      $('#comment-form').attr('class', saved_class);
+
+      $('#comment-form').addClass('fresh');
+      Drupal.attachBehaviors($('#comment-form'));
+      $('#comment-form').removeClass('fresh');
+
+      $('#comment-preview').empty();
+    }
     $('#comment-preview').append(obj);
     obj.ajaxCommentsPreviewToggle(speed);
   }
Index: ajax_comments/ajax_comments.pages.inc
===================================================================
--- ajax_comments/ajax_comments.pages.inc (original)
+++ ajax_comments/ajax_comments.pages.inc (working copy)
@@ -90,6 +90,10 @@
       $form = form_builder($form_id, $form, $form_state);
       form_set_cache($form_build_id, $form, $form_state);
     }
+  } elseif (module_exists('captcha') && isset($form['captcha'])) {
+    $comment_form = '<div id="comment-form-content">' .
+                       drupal_render_form($form_id, $form) .
+                     '</div>';
   }
   unset($form['#suffix']);
   unset($form['#prefix']);
@@ -104,7 +108,7 @@

     drupal_json(array(
       'status'   => TRUE,
-      'data'     => $output,
+      'data'     => $output . $comment_form,
     ));
   }
 }
