Index: bp-activity/bp-activity-filters.php
Index: bp-core/bp-core-template.php
===================================================================
--- bp-core/bp-core-template.php
+++ bp-core/bp-core-template.php
@@ -482,8 +482,8 @@ function bp_create_excerpt( $text, $length = 225, $options = array() ) {
 	}
 
 	return apply_filters( 'bp_create_excerpt', $truncate, $original_text, $length, $options );
+
 }
-add_filter( 'bp_create_excerpt', 'wp_trim_excerpt' );
 add_filter( 'bp_create_excerpt', 'stripslashes_deep' );
 add_filter( 'bp_create_excerpt', 'force_balance_tags' );
 
Index: bp-forums/bp-forums-template.php
===================================================================
--- bp-forums/bp-forums-template.php
+++ bp-forums/bp-forums-template.php
@@ -716,27 +716,18 @@ function bp_the_topic_time_since_created() {
 		return apply_filters( 'bp_get_the_topic_time_since_created', bp_core_time_since( strtotime( $forum_template->topic->topic_start_time ) ) );
 	}
 
-function bp_the_topic_latest_post_excerpt( $args = '' ) {
-	echo bp_get_the_topic_latest_post_excerpt( $args );
+function bp_the_topic_latest_post_excerpt() {
+	echo bp_get_the_topic_latest_post_excerpt();
 }
-	function bp_get_the_topic_latest_post_excerpt( $args = '' ) {
+	function bp_get_the_topic_latest_post_excerpt() {
 		global $forum_template;
 
-		$defaults = array(
-			'length' => 45
-		);
-
-		$r = wp_parse_args( $args, $defaults );
-		extract( $r, EXTR_SKIP );
-
 		$post = bp_forums_get_post( $forum_template->topic->topic_last_post_id );
 		$post = bp_create_excerpt( $post->post_text, $length );
 		return apply_filters( 'bp_get_the_topic_latest_post_excerpt', $post );
 	}
 
 function bp_the_topic_time_since_last_post() {
-	global $forum_template;
-
 	echo bp_get_the_topic_time_since_last_post();
 }
 	function bp_get_the_topic_time_since_last_post() {
Index: bp-groups/bp-groups-template.php
===================================================================
--- bp-groups/bp-groups-template.php
+++ bp-groups/bp-groups-template.php
@@ -503,7 +503,7 @@ function bp_group_description_excerpt() {
 		if ( !$group )
 			$group =& $groups_template->group;
 
-		return apply_filters( 'bp_get_group_description_excerpt', bp_create_excerpt( $group->description, 20 ) );
+		return apply_filters( 'bp_get_group_description_excerpt', bp_create_excerpt( $group->description ) );
 	}
 
 
Index: bp-members/bp-members-template.php
===================================================================
--- bp-members/bp-members-template.php
+++ bp-members/bp-members-template.php
@@ -570,20 +570,24 @@ function bp_member_latest_update( $args = '' ) {
 		global $bp, $members_template;
 
 		$defaults = array(
-			'length'    => 70,
 			'view_link' => true
 		);
 
 		$r = wp_parse_args( $args, $defaults );
-		extract( $r, EXTR_SKIP );
+		extract( $r );
 
-		if ( !isset( $members_template->member->latest_update ) || !$update = maybe_unserialize( $members_template->member->latest_update ) )
+		if ( empty( $members_template->member->latest_update ) || !$update = maybe_unserialize( $members_template->member->latest_update ) )
 			return false;
 
-		$update_content = apply_filters( 'bp_get_activity_latest_update', sprintf( _x( '- &quot;%s&quot;', 'member latest update in member directory', 'buddypress' ), trim( strip_tags( bp_create_excerpt( $update['content'], $length ) ) ) ) );
+		$update_content = apply_filters( 'bp_get_activity_latest_update_excerpt', sprintf( _x( '- &quot;%s &quot;', 'member latest update in member directory', 'buddypress' ), trim( strip_tags( bp_create_excerpt( $update['content'] ) ) ) ) );
+
+		// If $view_link is true and the text returned by bp_create_excerpt() is different from the original text (ie it's
+		// been truncated), add the "View" link.
+		if ( $view_link && ( $update_content != $update['content'] ) ) {
+			$view = __( 'View', 'buddypress' );
 
-		if ( $view_link && !empty( $update['id'] ) && bp_is_active( 'activity' ) )
-			$update_content .= ' <a href="' . bp_get_root_domain() . '/' . bp_get_activity_root_slug() . '/p/' . $update['id'] . '">' . __( 'View', 'buddypress' ) . '</a>';
+			$update_content .= '<span class="activity-read-more"><a href="' . bp_activity_get_permalink( $update['id'] ) . '" rel="nofollow">' . $view . '</a></span>';
+		}
 
 		return apply_filters( 'bp_get_member_latest_update', $update_content );
 	}
Index: bp-themes/bp-default/members/members-loop.php
===================================================================
--- bp-themes/bp-default/members/members-loop.php
+++ bp-themes/bp-default/members/members-loop.php
@@ -48,7 +48,7 @@
 
 					<?php if ( bp_get_member_latest_update() ) : ?>
 
-						<span class="update"> <?php bp_member_latest_update( array( 'length' => 10, 'view_link' => false ) ); ?></span>
+						<span class="update"> <?php bp_member_latest_update(); ?></span>
 
 					<?php endif; ?>
 
