Index: src/includes/replies/functions.php
===================================================================
--- src/includes/replies/functions.php
+++ src/includes/replies/functions.php
@@ -322,6 +322,9 @@
 	if ( bbp_is_topic_pending( $topic_id ) || ! bbp_check_for_moderation( $anonymous_data, $reply_author, $reply_title, $reply_content ) ) {
 		$reply_status = bbp_get_pending_status_id();
 
+		// Add an error notice.
+		bbp_add_error( 'bbp_reply_moderated', __( 'Your reply is pending moderation.', 'bbpress' ) );
+
 	// Default
 	} else {
 		$reply_status = bbp_get_public_status_id();
@@ -465,7 +468,9 @@
 		/** Successful Save ***************************************************/
 
 		// Redirect back to new reply
-		bbp_redirect( $reply_url );
+		if ( bbp_get_pending_status_id() !== $reply_status ) {
+			bbp_redirect( $reply_url );
+		}
 
 	/** Errors ****************************************************************/
 
Index: src/includes/replies/template.php
===================================================================
--- src/includes/replies/template.php
+++ src/includes/replies/template.php
@@ -2453,18 +2453,15 @@
 	 * @return string Value of reply content field
 	 */
 	function bbp_get_form_reply_content() {
+		$reply_content = '';
 
 		// Get _POST data
-		if ( bbp_is_reply_form_post_request() && isset( $_POST['bbp_reply_content'] ) ) {
+		if ( bbp_is_reply_form_post_request() && ! bbp_has_errors() && isset( $_POST['bbp_reply_content'] ) ) {
 			$reply_content = wp_unslash( $_POST['bbp_reply_content'] );
 
 		// Get edit data
 		} elseif ( bbp_is_reply_edit() ) {
 			$reply_content = bbp_get_global_post_field( 'post_content', 'raw' );
-
-		// No data
-		} else {
-			$reply_content = '';
 		}
 
 		// Filter & return
