diff --git src/bp-templates/bp-nouveau/includes/messages/functions.php src/bp-templates/bp-nouveau/includes/messages/functions.php
index 191a85381..b0017a28c 100644
--- src/bp-templates/bp-nouveau/includes/messages/functions.php
+++ src/bp-templates/bp-nouveau/includes/messages/functions.php
@@ -114,6 +114,7 @@ function bp_nouveau_messages_localize_scripts( $params = array() ) {
 			'one'  => __( '(and 1 other)', 'buddypress' ),
 			'more' => __( '(and %d others)', 'buddypress' ),
 		),
+		'rootUrl' => trailingslashit( str_replace( home_url(), '', bp_displayed_user_domain() ) . bp_get_messages_slug() ),
 	);
 
 	// Star private messages.
@@ -179,7 +180,7 @@ function bp_nouveau_messages_adjust_nav() {
 		if ( 'notices' === $secondary_nav_item->slug ) {
 			bp_core_remove_subnav_item( bp_get_messages_slug(), $secondary_nav_item->slug, 'members' );
 		} else {
-			$params = array( 'link' => '#' . $secondary_nav_item->slug );
+			$params = array( 'link' => trailingslashit( $secondary_nav_item->link ) . $secondary_nav_item->slug );
 
 			// Make sure Admins won't write a messages from the user's account.
 			if ( 'compose' === $secondary_nav_item->slug ) {
@@ -208,7 +209,7 @@ function bp_nouveau_messages_adjust_admin_nav( $admin_nav ) {
 			if ( 'notices' === $nav_id ) {
 				$admin_nav[ $nav_iterator ]['href'] = esc_url( add_query_arg( array( 'page' => 'bp-notices' ), bp_get_admin_url( 'users.php' ) ) );
 			} else {
-				$admin_nav[ $nav_iterator ]['href'] = $user_messages_link . '#' . trim( $nav_id );
+				$admin_nav[ $nav_iterator ]['href'] = trailingslashit( $user_messages_link ) . trim( $nav_id );
 			}
 		}
 	}
@@ -444,3 +445,19 @@ function bp_nouveau_messages_notification_filters() {
 		)
 	);
 }
+
+/**
+ * Avoid canonical redirects for the User's private message screens
+ *
+ * @since  3.0.1
+ *
+ * @param  boolean $redirect True to redirect to canonical url. False otherwise.
+ * @return boolean           True to redirect to canonical url. False otherwise.
+ */
+function bp_nouveau_messages_no_canonical_redirect( $redirect = true ) {
+	if ( bp_is_user() && bp_is_current_component( 'messages' ) ) {
+		$redirect = false;
+	}
+
+	return $redirect;
+}
diff --git src/bp-templates/bp-nouveau/includes/messages/loader.php src/bp-templates/bp-nouveau/includes/messages/loader.php
index a041f2f6b..58697643a 100644
--- src/bp-templates/bp-nouveau/includes/messages/loader.php
+++ src/bp-templates/bp-nouveau/includes/messages/loader.php
@@ -103,6 +103,7 @@ class BP_Nouveau_Messages {
 
 		// Messages
 		add_filter( 'bp_messages_admin_nav', 'bp_nouveau_messages_adjust_admin_nav', 10, 1 );
+		add_filter( 'bp_do_redirect_canonical', 'bp_nouveau_messages_no_canonical_redirect', 10, 1 );
 	}
 }
 
diff --git src/bp-templates/bp-nouveau/js/buddypress-messages.js src/bp-templates/bp-nouveau/js/buddypress-messages.js
index 7c1ad32d4..2017e713b 100644
--- src/bp-templates/bp-nouveau/js/buddypress-messages.js
+++ src/bp-templates/bp-nouveau/js/buddypress-messages.js
@@ -37,7 +37,10 @@ window.bp = window.bp || {};
 
 			this.setupNav();
 
-			Backbone.history.start();
+			Backbone.history.start( {
+				pushState: true,
+				root: BP_Nouveau.messages.rootUrl
+			} );
 		},
 
 		setupNav: function() {
