Index: includes/common/classes.php
===================================================================
--- includes/common/classes.php	(revision 5711)
+++ includes/common/classes.php	(working copy)
@@ -367,7 +367,32 @@
 		// Get element's id
 		$id_field = $this->db_fields['id'];
 		$id       = $element->$id_field;
+		
+		// Now fetch child replies for each reply as they're listed...
+		$reply_search = !empty($_REQUEST['rs']) ? $_REQUEST['rs'] : false;
+		$post_type = (bbp_is_single_topic() && bbp_show_lead_topic()) ? bbp_get_reply_post_type() : array(bbp_get_topic_post_type(), bbp_get_reply_post_type());
 
+		$child_args = array(
+			'post_type'           => $post_type,
+			'post_parent'         => bbp_get_topic_id(),
+			'posts_per_page'      => '-1',
+			'orderby'             => 'date',
+			'order'               => 'ASC',
+			'hierarchical'        => true,
+			'ignore_sticky_posts' => true,
+			's'                   => $reply_search,
+			'meta_query'          => array(array(
+										'key' => '_bbp_reply_to',
+										'compare' => '=',
+										'value'   => $id
+									))
+		);
+
+		$parsed_args = bbp_parse_args('', $child_args, 'has_replies');
+		$child_posts = new WP_Query($parsed_args);
+		$children_elements = array($id => $child_posts->posts);
+		wp_reset_postdata();
+
 		// Display element
 		parent::display_element( $element, $children_elements, $max_depth, $depth, $args, $output );
 
@@ -538,3 +563,5 @@
 	}
 }
 endif; // class_exists check
+
+?>
\ No newline at end of file
Index: includes/replies/template.php
===================================================================
--- includes/replies/template.php	(revision 5711)
+++ includes/replies/template.php	(working copy)
@@ -139,6 +139,22 @@
 		'hierarchical'        => $default_thread_replies,    // Hierarchical replies
 		'ignore_sticky_posts' => true,                       // Stickies not supported
 	);
+	
+	// Suppress threaded replies for now...
+	if (bbp_thread_replies()) {
+		$default['meta_query'] = array('relation' => 'OR',
+			array(
+				'key' => '_bbp_reply_to',
+				'compare' => 'NOT EXISTS',
+				'value'   => '0'
+			),
+			array(
+				'key' => '_bbp_reply_to',
+				'compare' => '=',
+				'value'   => '0'
+			)
+		);
+	}
 
 	// Only add 's' arg if searching for replies
 	// See https://bbpress.trac.wordpress.org/ticket/2607
@@ -178,9 +194,6 @@
 
 	// Set posts_per_page value if replies are threaded
 	$replies_per_page = $r['posts_per_page'];
-	if ( true === $r['hierarchical'] ) {
-		$r['posts_per_page'] = -1;
-	}
 
 	// Get bbPress
 	$bbp = bbpress();
@@ -252,10 +265,7 @@
 		}
 
 		// Figure out total pages
-		if ( true === $r['hierarchical'] ) {
-			$walker      = new BBP_Walker_Reply;
-			$total_pages = ceil( (int) $walker->get_number_of_root_elements( $bbp->reply_query->posts ) / (int) $replies_per_page );
-		} else {
+
 			$total_pages = ceil( (int) $bbp->reply_query->found_posts / (int) $replies_per_page );
 
 			// Add pagination to query object
@@ -276,7 +286,7 @@
 			} else {
 				$bbp->reply_query->pagination_links = str_replace( '&#038;paged=1', '', $bbp->reply_query->pagination_links );
 			}
-		}
+
 	}
 
 	// Return object
@@ -2461,9 +2471,9 @@
 
 		// We are threading replies
 		if ( bbp_thread_replies() && bbp_is_single_topic() ) {
-			return;
+
 			$walker  = new BBP_Walker_Reply;
-			$threads = (int) $walker->get_number_of_root_elements( $bbp->reply_query->posts );
+			$threads = (int) $walker->get_number_of_root_elements( $bbp->reply_query->posts ) + 1; // Not sure where this OB1 error comes from...
 
 			// Adjust for topic
 			$threads--;
@@ -2872,3 +2882,5 @@
 
 	return false;
 }
+
+?>
\ No newline at end of file
