diff --git a/src/js/_enqueues/lib/comment-reply.js b/src/js/_enqueues/lib/comment-reply.js
index 71f997328e..01eac4cdbd 100644
--- a/src/js/_enqueues/lib/comment-reply.js
+++ b/src/js/_enqueues/lib/comment-reply.js
@@ -40,9 +40,15 @@ window.addComment = ( function( window ) {
 	// The respond element.
 	var respondElement;
 
+	// The mutation observer.
+	var observer;
+
 	// Initialise the events.
 	init();
 
+	// Set up a MutationObserver to check for comments loaded late.
+	observeChanges();
+
 	/**
 	 * Add events to links classed .comment-reply-link.
 	 *
@@ -164,6 +170,43 @@ window.addComment = ( function( window ) {
 		}
 	}
 
+	/**
+	 * Creates a mutation observer to check for newly inserted comments.
+	 */
+	function observeChanges() {
+		var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
+		var observerOptions = {
+			childList: true,
+			subTree: true,
+		};
+
+		if ( ! MutationObserver ) {
+			return;
+		}
+
+		observer = new MutationObserver( handleChanges );
+		observer.observe( document.body, observerOptions );
+	}
+
+	/**
+	 * Handles DOM changes, calling init() if any new nodes are added.
+	 *
+	 * @since 5.1.0
+	 *
+	 * @param {Array} mutationRecords Array of MutationRecord objects.
+	 */
+	function handleChanges( mutationRecords ) {
+		var i = mutationRecords.length;
+
+		while ( i-- ) {
+			// Call init() once if any record in this set adds nodes.
+			if ( mutationRecords[ i ].addedNodes.length ) {
+				init();
+				return;
+			}
+		}
+	}
+
 	/**
 	 * Backward compatible getter of data-* attribute.
 	 *
