Index: src/bp-templates/bp-legacy/buddypress-functions.php
===================================================================
--- src/bp-templates/bp-legacy/buddypress-functions.php
+++ src/bp-templates/bp-legacy/buddypress-functions.php
@@ -1540,58 +1540,17 @@
 
 		// manually call oEmbed
 		// this is needed because we're not at the beginning of the loop
-		bp_messages_embed()
-	?>
-
-		<div class="message-box new-message <?php bp_the_thread_message_css_class(); ?>">
-			<div class="message-metadata">
-				<?php
-
-				/**
-				 * Fires before the single message header is displayed.
-				 *
-				 * @since BuddyPress (1.1.0)
-				 */
-				do_action( 'bp_before_message_meta' ); ?>
-				<?php echo bp_loggedin_user_avatar( 'type=thumb&width=30&height=30' ); ?>
-
-				<strong><a href="<?php echo bp_loggedin_user_domain(); ?>"><?php bp_loggedin_user_fullname(); ?></a> <span class="activity"><?php printf( __( 'Sent %s', 'buddypress' ), bp_core_time_since( bp_core_current_time() ) ); ?></span></strong>
-
-				<?php
-
-				/**
-				 * Fires after the single message header is displayed.
-				 *
-				 * @since BuddyPress (1.1.0)
-				 */
-				do_action( 'bp_after_message_meta' ); ?>
-			</div>
-
-			<?php
-
-			/**
-			 * Fires before the message content for a private message.
-			 *
-			 * @since BuddyPress (1.1.0)
-			 */
-			do_action( 'bp_before_message_content' ); ?>
-
-			<div class="message-content">
-				<?php bp_the_thread_message_content(); ?>
-			</div>
+		bp_messages_embed();
 
-			<?php
+		// add new-message css class
+		add_filter( 'bp_get_the_thread_message_css_class', create_function( '$retval', '
+			$retval[] = "new-message";
+			return $retval;
+		' ) );
 
-			/**
-			 * Fires after the message content for a private message.
-			 *
-			 * @since BuddyPress (1.1.0)
-			 */
-			do_action( 'bp_after_message_content' ); ?>
+		// output single message template part
+		bp_get_template_part( 'members/single/messages/content-single' );
 
-			<div class="clear"></div>
-		</div>
-	<?php
 		// clean up the loop
 		bp_thread_messages();
 
Index: src/bp-templates/bp-legacy/buddypress/members/single/messages/content-single.php
new file mode 100644
===================================================================
--- /dev/null
+++ src/bp-templates/bp-legacy/buddypress/members/single/messages/content-single.php
@@ -0,0 +1,55 @@
+			<div class="message-box <?php bp_the_thread_message_css_class(); ?>">
+
+				<div class="message-metadata">
+
+					<?php
+
+					/** This action is documented in bp-templates/bp-legacy/buddypress-functions.php */
+					do_action( 'bp_before_message_meta' ); ?>
+
+					<?php bp_the_thread_message_sender_avatar( 'type=thumb&width=30&height=30' ); ?>
+
+					<?php if ( bp_get_the_thread_message_sender_link() ) : ?>
+
+						<strong><a href="<?php bp_the_thread_message_sender_link(); ?>" title="<?php bp_the_thread_message_sender_name(); ?>"><?php bp_the_thread_message_sender_name(); ?></a></strong>
+
+					<?php else : ?>
+
+						<strong><?php bp_the_thread_message_sender_name(); ?></strong>
+
+					<?php endif; ?>
+
+					<span class="activity"><?php bp_the_thread_message_time_since(); ?></span>
+
+					<?php if ( bp_is_active( 'messages', 'star' ) ) : ?>
+						<div class="message-star-actions">
+							<?php bp_the_message_star_action_link(); ?>
+						</div>
+					<?php endif; ?>
+
+					<?php
+
+					/** This action is documented in bp-templates/bp-legacy/buddypress-functions.php */
+					do_action( 'bp_after_message_meta' ); ?>
+
+				</div><!-- .message-metadata -->
+
+				<?php
+
+				/** This action is documented in bp-templates/bp-legacy/buddypress-functions.php */
+				do_action( 'bp_before_message_content' ); ?>
+
+				<div class="message-content">
+
+					<?php bp_the_thread_message_content(); ?>
+
+				</div><!-- .message-content -->
+
+				<?php
+
+				/** This action is documented in bp-templates/bp-legacy/buddypress-functions.php */
+				do_action( 'bp_after_message_content' ); ?>
+
+				<div class="clear"></div>
+
+			</div><!-- .message-box -->
\ No newline at end of file
Index: src/bp-templates/bp-legacy/buddypress/members/single/messages/single.php
===================================================================
--- src/bp-templates/bp-legacy/buddypress/members/single/messages/single.php
+++ src/bp-templates/bp-legacy/buddypress/members/single/messages/single.php
@@ -45,63 +45,7 @@
 		do_action( 'bp_before_message_thread_list' ); ?>
 
 		<?php while ( bp_thread_messages() ) : bp_thread_the_message(); ?>
-
-			<div class="message-box <?php bp_the_thread_message_css_class(); ?>">
-
-				<div class="message-metadata">
-
-					<?php
-
-					/** This action is documented in bp-templates/bp-legacy/buddypress-functions.php */
-					do_action( 'bp_before_message_meta' ); ?>
-
-					<?php bp_the_thread_message_sender_avatar( 'type=thumb&width=30&height=30' ); ?>
-
-					<?php if ( bp_get_the_thread_message_sender_link() ) : ?>
-
-						<strong><a href="<?php bp_the_thread_message_sender_link(); ?>" title="<?php bp_the_thread_message_sender_name(); ?>"><?php bp_the_thread_message_sender_name(); ?></a></strong>
-
-					<?php else : ?>
-
-						<strong><?php bp_the_thread_message_sender_name(); ?></strong>
-
-					<?php endif; ?>
-
-					<span class="activity"><?php bp_the_thread_message_time_since(); ?></span>
-
-					<?php if ( bp_is_active( 'messages', 'star' ) ) : ?>
-						<div class="message-star-actions">
-							<?php bp_the_message_star_action_link(); ?>
-						</div>
-					<?php endif; ?>
-
-					<?php
-
-					/** This action is documented in bp-templates/bp-legacy/buddypress-functions.php */
-					do_action( 'bp_after_message_meta' ); ?>
-
-				</div><!-- .message-metadata -->
-
-				<?php
-
-				/** This action is documented in bp-templates/bp-legacy/buddypress-functions.php */
-				do_action( 'bp_before_message_content' ); ?>
-
-				<div class="message-content">
-
-					<?php bp_the_thread_message_content(); ?>
-
-				</div><!-- .message-content -->
-
-				<?php
-
-				/** This action is documented in bp-templates/bp-legacy/buddypress-functions.php */
-				do_action( 'bp_after_message_content' ); ?>
-
-				<div class="clear"></div>
-
-			</div><!-- .message-box -->
-
+			<?php bp_get_template_part( 'members/single/messages/content-single' ); ?>
 		<?php endwhile; ?>
 
 		<?php
