diff --git wp-admin/admin-ajax.php wp-admin/admin-ajax.php
index 5eb33e1..c740291 100644
--- wp-admin/admin-ajax.php
+++ wp-admin/admin-ajax.php
@@ -661,7 +661,11 @@ case 'replyto-comment' :
 	$comment_id = wp_new_comment( $commentdata );
 	$comment = get_comment($comment_id);
 	if ( ! $comment ) die('1');
-
+	
+	$parent = get_comment( $comment_parent );
+	if ( ! $parent->comment_approved && ! wp_update_comment( array( 'comment_ID' => $comment_parent, 'comment_approved' => 'approve' ) ) ) {
+		die('1');
+	}
 	$position = ( isset($_POST['position']) && (int) $_POST['position']) ? (int) $_POST['position'] : '-1';
 
 	$x = new WP_Ajax_Response();
diff --git wp-admin/css/wp-admin.dev.css wp-admin/css/wp-admin.dev.css
index 1781101..238bef6 100644
--- wp-admin/css/wp-admin.dev.css
+++ wp-admin/css/wp-admin.dev.css
@@ -1373,6 +1373,14 @@ table.fixed {
 #comments-form .fixed .column-author {
 	width: 20%;
 }
+.comments tr.focus th, .comments tr.focus td {
+	border-top-width:1px;
+	border-top-style:solid;
+}
+
+.comments tr.blur th, .comments tr.blur td {
+	border-bottom-width:0;
+}
 #commentsdiv.postbox .inside {
 	line-height:1.4em;
 	margin:0;
diff --git wp-admin/js/edit-comments.dev.js wp-admin/js/edit-comments.dev.js
index 177dc86..7eadd38 100644
--- wp-admin/js/edit-comments.dev.js
+++ wp-admin/js/edit-comments.dev.js
@@ -252,6 +252,20 @@ setCommentsList = function() {
 commentReply = {
 	cid : '',
 	act : '',
+	
+	showOverlay : function(id) {
+		var c = $('#comment-' + id), 
+			excluded = c.find('td, th').css('opacity', 1).add('td, th', '#replyrow');
+		listTable.$tbody.find('td, th').not(excluded).animate({opacity:'0.2'}, 300);
+		c.addClass('focus');
+		c.prev().addClass('blur');
+	},
+	
+	hideOverlay : function() {
+		listTable.$tbody.
+			find('.blur').removeClass('blur').end().
+			find('.focus').removeClass('focus');
+	},
 
 	init : function() {
 		var row = $('#replyrow');
@@ -300,6 +314,8 @@ commentReply = {
 
 		if ( $('#the-comment-list #replyrow').length < 1 )
 			return false;
+			
+		listTable.$tbody.find('th, td').animate({opacity : 1}, 300);
 
 		$('#replyrow').fadeOut('fast', function(){
 			commentReply.close();
@@ -323,6 +339,7 @@ commentReply = {
 			$('input', '#edithead').val('');
 			$('.error', '#replysubmit').html('').hide();
 			$('.waiting', '#replysubmit').hide();
+			this.hideOverlay();
 
 			if ( $.browser.msie )
 				$('#replycontainer, #replycontent').css('height', '120px');
@@ -334,7 +351,7 @@ commentReply = {
 	},
 
 	open : function(id, p, a) {
-		var t = this, editRow, rowData, act, h, c = $('#comment-' + id);
+		var t = this, editRow, rowData, act, h, c = $('#comment-' + id), replyButton;
 		t.close();
 		t.cid = id;
 
@@ -345,7 +362,8 @@ commentReply = {
 		$('#action', editRow).val(act);
 		$('#comment_post_ID', editRow).val(p);
 		$('#comment_ID', editRow).val(id);
-
+		t.showOverlay(id);
+		
 		if ( a == 'edit' ) {
 			$('#author', editRow).val( $('div.author', rowData).text() );
 			$('#author-email', editRow).val( $('div.author-email', rowData).text() );
@@ -366,9 +384,15 @@ commentReply = {
 				$('#replyrow').fadeIn(300, function(){ $(this).show() });
 			});
 		} else {
+			replyButton = $('#replybtn', editRow);
 			$('#edithead, #savebtn', editRow).hide();
 			$('#replyhead, #replybtn', editRow).show();
 			c.after(editRow);
+			if (c.hasClass('unapproved')) {
+				replyButton.text(adminCommentsL10n.replyApprove);
+			} else {
+				replyButton.text(adminCommentsL10n.reply);
+			}
 			$('#replyrow').fadeIn(300, function(){ $(this).show() });
 		}
 
@@ -406,7 +430,7 @@ commentReply = {
 	},
 
 	send : function() {
-		var post = {};
+		var post = {}, c;
 
 		$('#replysubmit .error').hide();
 		$('#replysubmit .waiting').show();
@@ -419,12 +443,17 @@ commentReply = {
 		post.id = post.comment_post_ID;
 		post.comments_listing = this.comments_listing;
 		post.p = $('[name=p]').val();
-
+		c = $('#comment-' + post.comment_ID);
 		$.ajax({
 			type : 'POST',
 			url : ajaxurl,
 			data : post,
-			success : function(x) { commentReply.show(x); },
+			success : function(x) { 
+				if (c.hasClass('unapproved')) {
+					c.removeClass('unapproved').addClass('approved');
+				}
+				commentReply.show(x); 
+			},
 			error : function(r) { commentReply.error(r); }
 		});
 
diff --git wp-includes/script-loader.php wp-includes/script-loader.php
index 706fd0a..0df59e4 100644
--- wp-includes/script-loader.php
+++ wp-includes/script-loader.php
@@ -316,7 +316,9 @@ function wp_default_scripts( &$scripts ) {
 		$scripts->add_data( 'admin-comments', 'group', 1 );
 		$scripts->localize( 'admin-comments', 'adminCommentsL10n', array(
 			'hotkeys_highlight_first' => isset($_GET['hotkeys_highlight_first']),
-			'hotkeys_highlight_last' => isset($_GET['hotkeys_highlight_last'])
+			'hotkeys_highlight_last' => isset($_GET['hotkeys_highlight_last']),
+			'replyApprove' => __( 'Approve and Reply' ),
+			'reply' => __( 'Reply' ),
 		) );
 
 		$scripts->add( 'xfn', "/wp-admin/js/xfn$suffix.js", array('jquery'), '20100403' );
