diff --git src/bp-templates/bp-nouveau/buddypress/activity/comment.php src/bp-templates/bp-nouveau/buddypress/activity/comment.php
index 4b8b3b3fa..6990cb58c 100644
--- src/bp-templates/bp-nouveau/buddypress/activity/comment.php
+++ src/bp-templates/bp-nouveau/buddypress/activity/comment.php
@@ -6,12 +6,12 @@
  * each activity.
  *
  * @since 3.0.0
- * @version 7.0.0
+ * @version 10.0.0
  */
 
 bp_nouveau_activity_hook( 'before', 'comment' ); ?>
 
-<li id="acomment-<?php bp_activity_comment_id(); ?>" class="comment-item" data-bp-activity-comment-id="<?php bp_activity_comment_id(); ?>">
+<li id="acomment-<?php bp_activity_comment_id(); ?>" class="comment-item" <?php bp_nouveau_activity_data_attribute_id(); ?>>
 	<div class="acomment-avatar item-avatar">
 		<a href="<?php bp_activity_comment_user_link(); ?>">
 			<?php
diff --git src/bp-templates/bp-nouveau/buddypress/activity/entry.php src/bp-templates/bp-nouveau/buddypress/activity/entry.php
index f4d15a1a5..471944678 100644
--- src/bp-templates/bp-nouveau/buddypress/activity/entry.php
+++ src/bp-templates/bp-nouveau/buddypress/activity/entry.php
@@ -6,12 +6,12 @@
  * each activity.
  *
  * @since 3.0.0
- * @version 3.0.0
+ * @version 10.0.0
  */
 
 bp_nouveau_activity_hook( 'before', 'entry' ); ?>
 
-<li class="<?php bp_activity_css_class(); ?>" id="activity-<?php bp_activity_id(); ?>" data-bp-activity-id="<?php bp_activity_id(); ?>" data-bp-timestamp="<?php bp_nouveau_activity_timestamp(); ?>">
+<li class="<?php bp_activity_css_class(); ?>" id="activity-<?php bp_activity_id(); ?>" <?php bp_nouveau_activity_data_attribute_id(); ?> data-bp-timestamp="<?php bp_nouveau_activity_timestamp(); ?>">
 
 	<div class="activity-avatar item-avatar">
 
diff --git src/bp-templates/bp-nouveau/includes/activity/ajax.php src/bp-templates/bp-nouveau/includes/activity/ajax.php
index 2469c5bbe..0043e9d4c 100644
--- src/bp-templates/bp-nouveau/includes/activity/ajax.php
+++ src/bp-templates/bp-nouveau/includes/activity/ajax.php
@@ -3,7 +3,7 @@
  * Activity Ajax functions
  *
  * @since 3.0.0
- * @version 8.1.0
+ * @version 10.0.0
  */
 
 // Exit if accessed directly.
@@ -232,23 +232,39 @@ function bp_nouveau_ajax_delete_activity() {
 
 	// Deleting an activity comment.
 	if ( ! empty( $_POST['is_comment'] ) ) {
+		// Get replies before they are deleted.
+		$replies   = (array) BP_Activity_Activity::get_child_comments( $activity->id );
+		$reply_ids = wp_list_pluck( $replies, 'id' );
+
 		if ( ! bp_activity_delete_comment( $activity->item_id, $activity->id ) ) {
 			wp_send_json_error( $response );
+
+			// The comment and its replies has been deleted successfully.
+		} else {
+			$response = array(
+				'deleted' => array_merge(
+					array( $activity->id ),
+					$reply_ids
+				),
+			);
 		}
 
 	// Deleting an activity.
 	} else {
 		if ( ! bp_activity_delete( array( 'id' => $activity->id, 'user_id' => $activity->user_id ) ) ) {
 			wp_send_json_error( $response );
+
+			// The activity has been deleted successfully.
+		} else {
+			$response = array(
+				'deleted' => array( $activity->id ),
+			);
 		}
 	}
 
 	/** This action is documented in bp-activity/bp-activity-actions.php */
 	do_action( 'bp_activity_action_delete_activity', $activity->id, $activity->user_id );
 
-	// The activity has been deleted successfully
-	$response = array( 'deleted' => $activity->id );
-
 	// If on a single activity redirect to user's home.
 	if ( ! empty( $_POST['is_single'] ) ) {
 		$response['redirect'] = bp_core_get_user_domain( $activity->user_id );
diff --git src/bp-templates/bp-nouveau/includes/activity/template-tags.php src/bp-templates/bp-nouveau/includes/activity/template-tags.php
index a1299feea..48662dcc1 100644
--- src/bp-templates/bp-nouveau/includes/activity/template-tags.php
+++ src/bp-templates/bp-nouveau/includes/activity/template-tags.php
@@ -3,7 +3,7 @@
  * Activity Template tags
  *
  * @since 3.0.0
- * @version 8.1.0
+ * @version 10.0.0
  */
 
 // Exit if accessed directly.
@@ -146,6 +146,30 @@ function bp_nouveau_activity_hook( $when = '', $suffix = '' ) {
 	bp_nouveau_hook( $hook );
 }
 
+/**
+ * Output the `data-bp-activity-id` or `data-bp-activity-comment-id` attribute
+ * according to the activity type.
+ *
+ * @since 10.0.0
+ */
+function bp_nouveau_activity_data_attribute_id() {
+	$attribute  = 'data-bp-%1$s-id="%2$s"';
+	$type       = 'activity';
+	$id         = (int) bp_get_activity_id();
+	$comment_id = (int) bp_get_activity_comment_id();
+
+	if ( 'activity_comment' === bp_get_activity_type() || $comment_id ) {
+		$type = 'activity-comment';
+
+
+		if ( $comment_id ) {
+			$id = $comment_id;
+		}
+	}
+
+	printf( $attribute, $type, $id );
+}
+
 /**
  * Checks if an activity of the loop has some content.
  *
diff --git src/bp-templates/bp-nouveau/js/buddypress-activity.js src/bp-templates/bp-nouveau/js/buddypress-activity.js
index 3a76427f3..0ce7b0bde 100644
--- src/bp-templates/bp-nouveau/js/buddypress-activity.js
+++ src/bp-templates/bp-nouveau/js/buddypress-activity.js
@@ -1,7 +1,7 @@
 /* jshint browser: true */
 /* global BP_Nouveau */
 /* @since 3.0.0 */
-/* @version 8.0.0 */
+/* @version 10.0.0 */
 window.bp = window.bp || {};
 
 ( function( bp, $ ) {
@@ -569,15 +569,22 @@ window.bp = window.bp || {};
 						}
 
 						if ( activity_comment_id ) {
-							deleted_comments_count = 1;
-
 							// Move the form if needed
 							activity_item.append( activity_comment_li.find( 'form' ) );
 
-							// Count child comments if there are some
-							$.each( activity_comment_li.find( 'li' ), function() {
-								deleted_comments_count += 1;
-							} );
+							deleted_comments_count = 1;
+							if ( response.data.deleted ) {
+								deleted_comments_count = response.data.deleted.length;
+
+								response.data.deleted.forEach( function( cid ) {
+									$( '[data-bp-activity-comment-id="' + cid + '"]' ).remove();
+								} );
+							} else {
+								// Count child comments if there are some
+								$.each( activity_comment_li.find( 'li' ), function() {
+									deleted_comments_count += 1;
+								} );
+							}
 
 							// Update the button count
 							comment_count_span = activity_item.find( '.acomment-reply span.comment-count' );
