diff --git src/bp-templates/bp-legacy/buddypress-functions.php src/bp-templates/bp-legacy/buddypress-functions.php
index 727a16d..b174227 100644
--- src/bp-templates/bp-legacy/buddypress-functions.php
+++ src/bp-templates/bp-legacy/buddypress-functions.php
@@ -605,6 +605,10 @@ function bp_legacy_theme_object_template_loader() {
 		$template_part = sanitize_option( 'upload_path', $_POST['template'] );
 	}
 
+	// Allow plugins to filter the template location
+	$filter_name = 'bp_legacy_theme_' . $object . '_template_loader'; 
+	$template_part = apply_filters( $filter_name, $template_part );
+
 	// Locate the object template
 	bp_get_template_part( $template_part );
 	exit();
@@ -617,7 +621,9 @@ function bp_legacy_theme_object_template_loader() {
  * @since BuddyPress (1.6)
  */
 function bp_legacy_theme_messages_template_loader() {
-	bp_get_template_part( 'members/single/messages/messages-loop' );
+	$template = 'members/single/messages/messages-loop';
+	$template = apply_filters( 'bp_legacy_theme_messages_template_loader', $template );
+	bp_get_template_part( $template );
 	exit();
 }
 
@@ -627,7 +633,9 @@ function bp_legacy_theme_messages_template_loader() {
  * @since BuddyPress (2.0.0)
  */
 function bp_legacy_theme_invite_template_loader() {
-	bp_get_template_part( 'groups/single/invites-loop' );
+	$template = 'groups/single/invites-loop';
+	$template = apply_filters( 'bp_legacy_theme_invite_template_loader', $template );
+	bp_get_template_part( $template );
 	exit();
 }
 
@@ -637,7 +645,9 @@ function bp_legacy_theme_invite_template_loader() {
  * @since BuddyPress (2.0.0)
  */
 function bp_legacy_theme_requests_template_loader() {
-	bp_get_template_part( 'groups/single/requests-loop' );
+	$template = 'groups/single/requests-loop';
+	$template = apply_filters( 'bp_legacy_theme_requests_template_loader', $template );
+	bp_get_template_part( $template );
 	exit();
 }
 
