diff --git includes/admin/converters/Vanilla.php includes/admin/converters/Vanilla.php
index 01040aa..6db1b10 100644
--- includes/admin/converters/Vanilla.php
+++ includes/admin/converters/Vanilla.php
@@ -248,18 +248,25 @@ public function setup_globals() {
 		);
 		$this->field_map[] = array(
 			'from_tablename' => 'Discussion',
-			'from_fieldname' => 'DateUpdated',
+			'from_fieldname' => 'DateLastComment',
 			'to_type'        => 'topic',
 			'to_fieldname'   => 'post_modified'
 		);
 		$this->field_map[] = array(
 			'from_tablename' => 'Discussion',
-			'from_fieldname' => 'DateUpdated',
+			'from_fieldname' => 'DateLastComment',
 			'to_type'        => 'topic',
 			'to_fieldname'   => 'post_modified_gmt'
 		);
 		$this->field_map[] = array(
 			'from_tablename' => 'Discussion',
+			'from_fieldname' => 'DateUpdated',
+			'to_type'        => 'topic',
+			'to_fieldname'   => '_bbp_last_edit_time_gmt'
+		);
+
+		$this->field_map[] = array(
+			'from_tablename' => 'Discussion',
 			'from_fieldname' => 'DateLastComment',
 			'to_type'        => 'topic',
 			'to_fieldname'   => '_bbp_last_active_time'
diff --git includes/admin/converters/phpBB.php includes/admin/converters/phpBB.php
index bc8338f..9015c0a 100644
--- includes/admin/converters/phpBB.php
+++ includes/admin/converters/phpBB.php
@@ -278,14 +278,14 @@ public function setup_globals() {
 		);
 		$this->field_map[] = array(
 			'from_tablename'  => 'topics',
-			'from_fieldname'  => 'topic_time',
+			'from_fieldname'  => 'topic_last_post_time',
 			'to_type'         => 'topic',
 			'to_fieldname'    => 'post_modified',
 			'callback_method' => 'callback_datetime'
 		);
 		$this->field_map[] = array(
 			'from_tablename'  => 'topics',
-			'from_fieldname'  => 'topic_time',
+			'from_fieldname'  => 'topic_last_post_time',
 			'to_type'         => 'topic',
 			'to_fieldname'    => 'post_modified_gmt',
 			'callback_method' => 'callback_datetime'
diff --git includes/admin/converters/vBulletin.php includes/admin/converters/vBulletin.php
index 3903a75..8a66970 100644
--- includes/admin/converters/vBulletin.php
+++ includes/admin/converters/vBulletin.php
@@ -270,14 +270,14 @@ private function setup_globals() {
 		);
 		$this->field_map[] = array(
 			'from_tablename'  => 'thread',
-			'from_fieldname'  => 'dateline',
+			'from_fieldname'  => 'lastpost',
 			'to_type'         => 'topic',
 			'to_fieldname'    => 'post_modified',
 			'callback_method' => 'callback_datetime'
 		);
 		$this->field_map[] = array(
 			'from_tablename'  => 'thread',
-			'from_fieldname'  => 'dateline',
+			'from_fieldname'  => 'lastpost',
 			'to_type'         => 'topic',
 			'to_fieldname'    => 'post_modified_gmt',
 			'callback_method' => 'callback_datetime'
diff --git includes/admin/converters/vBulletin3.php includes/admin/converters/vBulletin3.php
index 71dd7c6..5c64dbf 100644
--- includes/admin/converters/vBulletin3.php
+++ includes/admin/converters/vBulletin3.php
@@ -270,14 +270,14 @@ private function setup_globals() {
 		);
 		$this->field_map[] = array(
 			'from_tablename'  => 'thread',
-			'from_fieldname'  => 'dateline',
+			'from_fieldname'  => 'lastpost',
 			'to_type'         => 'topic',
 			'to_fieldname'    => 'post_modified',
 			'callback_method' => 'callback_datetime'
 		);
 		$this->field_map[] = array(
 			'from_tablename'  => 'thread',
-			'from_fieldname'  => 'dateline',
+			'from_fieldname'  => 'lastpost',
 			'to_type'         => 'topic',
 			'to_fieldname'    => 'post_modified_gmt',
 			'callback_method' => 'callback_datetime'
diff --git includes/admin/forums.php includes/admin/forums.php
index ce45039..7714e52 100644
--- includes/admin/forums.php
+++ includes/admin/forums.php
@@ -303,12 +303,18 @@ public function attributes_metabox_save( $forum_id ) {
 		// Parent ID
 		$parent_id = ( !empty( $_POST['parent_id'] ) && is_numeric( $_POST['parent_id'] ) ) ? (int) $_POST['parent_id'] : 0;
 
+		// Prevent infinite loop clash with last_active time updating
+		remove_action( 'save_post', array( $this, 'attributes_metabox_save' ) );
+
 		// Update the forum meta bidness
 		bbp_update_forum( array(
 			'forum_id'    => $forum_id,
 			'post_parent' => (int) $parent_id
 		) );
 
+		// Add save_post hook back, just in casies
+		add_action( 'save_post', array( $this, 'attributes_metabox_save' ) );
+
 		do_action( 'bbp_forum_attributes_metabox_save', $forum_id );
 
 		return $forum_id;
diff --git includes/admin/tools.php includes/admin/tools.php
index 2ef2cdf..e182d39 100644
--- includes/admin/tools.php
+++ includes/admin/tools.php
@@ -940,10 +940,21 @@ function bbp_admin_repair_freshness() {
 			WHERE `reply`.`meta_id` IS NULL AND `topic`.`post_type` = '{$tpt}' );" ) ) )
 		return array( 9, sprintf( $statement, $result ) );
 
+	// Also, update the post_modified and post_modified_gmt times
+	if ( is_wp_error( $wpdb->query( "UPDATE `$wpdb->posts`,
+			( SELECT `topic`.`ID` AS `ID`, MAX( `reply`.`post_date` ) AS `post_date`, MAX( `reply`.`post_date_gmt` ) AS `post_date_gmt`
+			FROM `$wpdb->posts` AS `topic` INNER JOIN `$wpdb->posts` AS `reply`
+			ON `topic`.`ID` = `reply`.`post_parent`
+			WHERE `reply`.`post_status` = '{$pps}' AND `topic`.`post_type` = '{$tpt}' AND `reply`.`post_type` = '{$rpt}'
+			GROUP BY `topic`.`ID` ) AS `update`
+			SET `$wpdb->posts`.`post_modified` = `update`.`post_date`, `$wpdb->posts`.`post_modified_gmt` = `update`.`post_date_gmt`
+			WHERE `$wpdb->posts`.`ID` = `update`.`ID`;" ) ) )
+		return array( 10, sprintf( $statement, $result ) );
+
 	// Forums need to know what their last active item is as well. Now it gets a bit more complex to do in the database.
 	$forums = $wpdb->get_col( "SELECT `ID` FROM `$wpdb->posts` WHERE `post_type` = '{$fpt}' and `post_status` != 'auto-draft';" );
 	if ( is_wp_error( $forums ) )
-		return array( 10, sprintf( $statement, $result ) );
+		return array( 11, sprintf( $statement, $result ) );
 
  	// Loop through forums
  	foreach ( $forums as $forum_id ) {
diff --git includes/common/functions.php includes/common/functions.php
index f0248e6..0ef2bda 100644
--- includes/common/functions.php
+++ includes/common/functions.php
@@ -364,6 +364,113 @@ function bbp_fix_post_author( $data = array(), $postarr = array() ) {
 }
 
 /**
+ * Fix post modified times on post save for topics/forums
+ *
+ * When a forum or topic is updated, the post_modified and post_modified_gmt
+ * fields are updated. Since these fields are used for freshness data, we
+ * don't want to stomp out the current data. This keeps the post_modified(_gmt)
+ * fields at their current status, and moves the last edit time (in GMT) to post
+ * meta as '_bbp_last_edit_time_gmt'. This also solves the problem of not being
+ * able to pass our own custom post_modified(_gmt) values
+ *
+ * @since bbPress (rXXXX)
+ *
+ * @param array $data Post data
+ * @param array $postarr Original post array data
+ * @uses bbp_get_topic_post_type() To get the topic post type
+ * @uses bbp_get_reply_post_type() To get the reply post type
+ * @uses bbp_is_post_request() To determine if we're in a POST request
+ * @uses update_post_meta() To update the '_bbp_last_edit_time_gmt' post meta field
+ * @return array Post data
+ */
+function bbp_fix_post_modified( $data = array(), $postarr = array() ) {
+
+	// Post is not being updated, return
+	if ( empty( $postarr['ID'] ) ) {
+		return $data;
+	}
+
+	// We're not updating the last active time, return
+	if ( empty( $postarr['post_modified'] ) && empty( $postarr['post_modified_gmt'] ) ) {
+		return $data;
+	}
+
+	// We're importing, return
+	if ( ( !empty( $_POST['action'] ) && ( 'bbconverter_process' == $_POST['action'] ) ) ) {
+		return $data;
+	}
+
+	// Post is not a forum or topic, return
+	if ( !in_array( $postarr['post_type'], array( bbp_get_forum_post_type(), bbp_get_topic_post_type() ) ) ) {
+		return $data;
+	}
+
+	// Are we editing?
+	if ( bbp_is_post_request() && in_array( $_POST['action'], array( 'bbp-edit-forum', 'bbp-edit-topic', 'editpost' ) ) ) {
+
+		// Set the last edited time in post meta to the new post_modified_gmt
+		update_post_meta( $postarr['ID'], '_bbp_last_edit_time_gmt', $data['post_modified_gmt'] );
+
+		// Reset post_modified and post_modified_gmt back to their original values
+		$data['post_modified']     = $postarr['post_modified'];
+		$data['post_modified_gmt'] = $postarr['post_modified_gmt'];
+	}
+
+	return $data;
+}
+
+/**
+ * Fix revision post_(date/date_gmt/modified/modified_gmt) times
+ *
+ * When a revision is created, _wp_post_revision_fields() sets the post_date(_gmt)
+ * fields to the post_modified time of the of the post being revised. Since we
+ * are now using the post_modified(_gmt) fields for freshness times, these fields
+ * are no longer accurate with respect to revisions. Here we reset the post_*
+ * times to back their proper values
+ *
+ * @since bbPress (rXXXX)
+ *
+ * @param array $data Post data
+ * @param array $postarr Original post array (includes post id)
+ * @uses bbp_is_topic() To make sure the revision is of a topic
+ * @uses get_post_meta() To get the '_bbp_last_edit_time_gmt' post meta field
+ * @uses get_date_from_gmt() To get the localized date from a gmt date
+ * @uses current_time() To get the current_time in mysql format
+ * @return array Post data
+ */
+function bbp_fix_revision_times( $data = array(), $postarr = array() ) {
+
+	// Don't even bother. This is not a revision.
+	if ( 'revision' !== $data['post_type'] ) {
+		return $data;
+	}
+
+	// Make sure we're working with a revision of a topic or forum
+	if ( !bbp_is_topic( $data['post_parent'] ) && !bbp_is_forum( $data['post_parent'] ) ) {
+		return $data;
+	}
+
+	// We're importing, return
+	if ( ( !empty( $_POST['action'] ) && ( 'bbconverter_process' == $_POST['action'] ) ) ) {
+		return $data;
+	}
+
+	// Get the true last edited time from post meta, bail otherwise
+	$edit_time = get_post_meta( $data['post_parent'], '_bbp_last_edit_time_gmt', true );
+	if ( empty( $edit_time ) ) {
+		return $data;
+	}
+
+	// Reset post_modified and post_modified_gmt back to their original values
+	$data['post_date']         = get_date_from_gmt( $edit_time );
+	$data['post_date_gmt']     = $edit_time;
+	$data['post_modified']     = current_time( 'mysql' );
+	$data['post_modified_gmt'] = current_time( 'mysql', 1 );
+
+	return $data;
+}
+
+/**
  * Check the date against the _bbp_edit_lock setting.
  *
  * @since bbPress (r3133)
diff --git includes/common/widgets.php includes/common/widgets.php
index 3204dc7..9866888 100644
--- includes/common/widgets.php
+++ includes/common/widgets.php
@@ -743,8 +743,7 @@ public function widget( $args = array(), $instance = array() ) {
 					'post_status'         => array( bbp_get_public_status_id(), bbp_get_closed_status_id() ),
 					'ignore_sticky_posts' => true,
 					'no_found_rows'       => true,
-					'meta_key'            => '_bbp_last_active_time',
-					'orderby'             => 'meta_value',
+					'orderby'             => 'modified',
 					'order'               => 'DESC',
 				);
 				break;
diff --git includes/core/filters.php includes/core/filters.php
index 8dcd42c..d54a266 100644
--- includes/core/filters.php
+++ includes/core/filters.php
@@ -51,6 +51,12 @@
 // Fix post author id for anonymous posts (set it back to 0) when the post status is changed
 add_filter( 'wp_insert_post_data', 'bbp_fix_post_author', 30, 2 );
 
+// Fix post modified and post modified gmt time for forums and topics when the post is edited
+add_filter( 'wp_insert_post_data', 'bbp_fix_post_modified', 32, 2 );
+
+// Fix post revision times
+add_filter( 'wp_insert_post_data', 'bbp_fix_revision_times', 34, 2 );
+
 // Force comments_status on bbPress post types
 add_filter( 'comments_open', 'bbp_force_comment_status' );
 
diff --git includes/core/update.php includes/core/update.php
index 18141e3..ff0e44b 100644
--- includes/core/update.php
+++ includes/core/update.php
@@ -285,6 +285,32 @@ function bbp_version_updater() {
 		// No changes
 	}
 
+	/** 2.6 Branch ************************************************************/
+
+	// 2.6
+	if ( $raw_db_version < 260 ) {
+		global $wpdb;
+
+		// Give forums their last edit time
+		$wpdb->query( "INSERT INTO `$wpdb->postmeta` (`post_id`, `meta_key`, `meta_value`)
+			( SELECT `forum`.`ID`, '_bbp_last_edit_time_gmt', `forum`.`post_modified_gmt`
+			FROM `$wpdb->posts` AS `forum`
+			WHERE `forum`.`post_type` = '" . bbp_get_forum_post_type() . "'
+			GROUP BY `forum`.`ID` );"
+		);
+
+		// Give topics their last edit time
+		$wpdb->query( "INSERT INTO `$wpdb->postmeta` (`post_id`, `meta_key`, `meta_value`)
+			( SELECT `topic`.`ID`, '_bbp_last_edit_time_gmt', `topic`.`post_modified_gmt`
+			FROM `$wpdb->posts` AS `topic`
+			WHERE `topic`.`post_type` = '" . bbp_get_topic_post_type() . "'
+			GROUP BY `topic`.`ID` );"
+		);
+
+		// Update Forum/Topic Freshness to use post_modified_gmt
+		bbp_admin_repair_freshness();
+	}
+
 	/** All done! *************************************************************/
 
 	// Bump the version
diff --git includes/forums/functions.php includes/forums/functions.php
index 881f669..bdb8539 100644
--- includes/forums/functions.php
+++ includes/forums/functions.php
@@ -1183,8 +1183,7 @@ function bbp_update_forum_last_topic_id( $forum_id = 0, $topic_id = 0 ) {
 		$post_vars = array(
 			'post_parent' => $forum_id,
 			'post_type'   => bbp_get_topic_post_type(),
-			'meta_key'    => '_bbp_last_active_time',
-			'orderby'     => 'meta_value',
+			'orderby'     => 'modified',
 			'numberposts' => 1
 		);
 
@@ -1338,16 +1337,20 @@ function bbp_update_forum_last_active_id( $forum_id = 0, $active_id = 0 ) {
 }
 
 /**
- * Update the forums last active date/time (aka freshness)
+ * Update the forum's last active date/time (aka freshness)
  *
  * @since bbPress (r2680)
  *
- * @param int $forum_id Optional. Topic id
+ * @param int $forum_id Optional. Forum id
  * @param string $new_time Optional. New time in mysql format
  * @uses bbp_get_forum_id() To get the forum id
  * @uses bbp_get_forum_last_active_id() To get the forum's last post id
- * @uses get_post_field() To get the post date of the forum's last post
- * @uses update_post_meta() To update the forum last active time
+ * @uses get_post_field() To get the post_modified date of the forum
+ * @uses update_post_meta() To update the forum last active meta
+ * @uses post_type_supports() To check if the them supports revisions
+ * @uses remove_post_type_support() To remove support for revisions
+ * @uses wp_update_post() To update the post_modified date of the forum
+ * @uses add_post_type_support() To add support for revisions
  * @uses apply_filters() Calls 'bbp_update_forum_last_active' with the new time
  *                        and forum id
  * @return bool True on success, false on failure
@@ -1360,9 +1363,32 @@ function bbp_update_forum_last_active_time( $forum_id = 0, $new_time = '' ) {
 		$new_time = get_post_field( 'post_date', bbp_get_forum_last_active_id( $forum_id ) );
 
 	// Update only if there is a time
-	if ( !empty( $new_time ) )
+	if ( !empty( $new_time ) ) {
+
+		// Update forum's meta - not used since 2.6
 		update_post_meta( $forum_id, '_bbp_last_active_time', $new_time );
 
+		// Toggle revisions to avoid duplicates
+		$revisions_removed = false;
+		if ( post_type_supports( bbp_get_forum_post_type(), 'revisions' ) ) {
+			$revisions_removed = true;
+			remove_post_type_support( bbp_get_forum_post_type(), 'revisions' );
+		}
+
+		// Update forum's post_modified date - since 2.6
+		wp_update_post( array(
+			'ID'                => $forum_id,
+			'post_modified'     => $new_time,
+			'post_modified_gmt' => get_gmt_from_date( $new_time )
+		) );
+
+		// Toggle revisions back on
+		if ( true === $revisions_removed ) {
+			$revisions_removed = false;
+			add_post_type_support( bbp_get_forum_post_type(), 'revisions' );
+		}
+	}
+
 	return (int) apply_filters( 'bbp_update_forum_last_active', $new_time, $forum_id );
 }
 
@@ -1918,8 +1944,8 @@ function bbp_forum_query_subforum_ids( $forum_id ) {
  * @return Position change based on sort
  */
 function _bbp_forum_query_usort_subforum_ids( $a = 0, $b = 0 ) {
-	$ta = get_post_meta( $a, '_bbp_last_active_time', true );
-	$tb = get_post_meta( $b, '_bbp_last_active_time', true );
+	$ta = get_post_field( 'post_modified', $a );
+	$tb = get_post_field( 'post_modified', $b );
 	return ( $ta < $tb ) ? -1 : 1;
 }
 
diff --git includes/forums/template.php includes/forums/template.php
index f269288..b19cae2 100644
--- includes/forums/template.php
+++ includes/forums/template.php
@@ -447,6 +447,7 @@ function bbp_get_forum_content( $forum_id = 0 ) {
  * Allow forum rows to have adminstrative actions
  *
  * @since bbPress (r3653)
+ *
  * @uses do_action()
  * @todo Links and filter
  */
@@ -496,18 +497,13 @@ function bbp_forum_last_active_time( $forum_id = 0 ) {
 	echo bbp_get_forum_last_active_time( $forum_id );
 }
 	/**
-	 * Return the forums last update date/time (aka freshness)
+	 * Return the forum's last update date/time (aka freshness)
 	 *
 	 * @since bbPress (r2464)
 	 *
 	 * @param int $forum_id Optional. Forum id
 	 * @uses bbp_get_forum_id() To get the forum id
-	 * @uses get_post_meta() To retrieve forum last active meta
-	 * @uses bbp_get_forum_last_reply_id() To get forum's last reply id
-	 * @uses get_post_field() To get the post date of the reply
-	 * @uses bbp_get_forum_last_topic_id() To get forum's last topic id
-	 * @uses bbp_get_topic_last_active_time() To get time when the topic was
-	 *                                    last active
+	 * @uses get_post_field() To get the post_modified of the forum
 	 * @uses bbp_convert_date() To convert the date
 	 * @uses bbp_get_time_since() To get time in since format
 	 * @uses apply_filters() Calls 'bbp_get_forum_last_active' with last
@@ -516,24 +512,14 @@ function bbp_forum_last_active_time( $forum_id = 0 ) {
 	 */
 	function bbp_get_forum_last_active_time( $forum_id = 0 ) {
 
-		// Verify forum and get last active meta
+		// Verify forum and get last active time
 		$forum_id    = bbp_get_forum_id( $forum_id );
-		$last_active = get_post_meta( $forum_id, '_bbp_last_active_time', true );
-
-		if ( empty( $last_active ) ) {
-			$reply_id = bbp_get_forum_last_reply_id( $forum_id );
-			if ( !empty( $reply_id ) ) {
-				$last_active = get_post_field( 'post_date', $reply_id );
-			} else {
-				$topic_id = bbp_get_forum_last_topic_id( $forum_id );
-				if ( !empty( $topic_id ) ) {
-					$last_active = bbp_get_topic_last_active_time( $topic_id );
-				}
-			}
-		}
+		$last_active = get_post_field( 'post_modified', $forum_id );
 
+		// Convert to time since format
 		$active_time = !empty( $last_active ) ? bbp_get_time_since( bbp_convert_date( $last_active ) ) : '';
 
+		// Return the time since
 		return apply_filters( 'bbp_get_forum_last_active', $active_time, $forum_id );
 	}
 
@@ -2226,7 +2212,7 @@ function bbp_get_form_forum_visibility() {
 
 		return apply_filters( 'bbp_get_form_forum_visibility', esc_attr( $forum_visibility ) );
 	}
-	
+
 /**
  * Output checked value of forum subscription
  *
diff --git includes/topics/functions.php includes/topics/functions.php
index 0376c7f..fbd953b 100644
--- includes/topics/functions.php
+++ includes/topics/functions.php
@@ -2496,16 +2496,26 @@ function bbp_update_topic_last_active_id( $topic_id = 0, $active_id = 0 ) {
 }
 
 /**
- * Update the topics last active date/time (aka freshness)
+ * Update the topic's last active date/time (aka freshness)
  *
  * @since bbPress (r2680)
  *
  * @param int $topic_id Optional. Topic id
  * @param string $new_time Optional. New time in mysql format
- * @uses bbp_get_topic_id() To get the topic id
+ * @uses bbp_is_reply() To check if the id passed is a reply
  * @uses bbp_get_reply_topic_id() To get the reply topic id
- * @uses current_time() To get the current time
+ * @uses bbp_get_topic_id() To get the topic id
+ * @uses bbp_get_reply_post_type() To get the reply post type
+ * @uses bbp_get_public_child_last_id() To get the last public reply id
+ * @uses get_post_field() To get the post_modified date of the topic
  * @uses update_post_meta() To update the topic last active meta
+ * @uses bbp_get_reply_post_type() To get the topic post type
+ * @uses post_type_supports() To check if the them supports revisions
+ * @uses remove_post_type_support() To remove support for revisions
+ * @uses wp_update_post() To update the post_modified date of the topic
+ * @uses add_post_type_support() To add support for revisions
+ * @uses apply_filters() Calls 'bbp_update_topic_last_active' with the new time
+ *                        and topic id
  * @return bool True on success, false on failure
  */
 function bbp_update_topic_last_active_time( $topic_id = 0, $new_time = '' ) {
@@ -2524,7 +2534,29 @@ function bbp_update_topic_last_active_time( $topic_id = 0, $new_time = '' ) {
 
 	// Update only if published
 	if ( !empty( $new_time ) ) {
+
+		// Update topic's meta - not used since 2.6
 		update_post_meta( $topic_id, '_bbp_last_active_time', $new_time );
+
+		// Toggle revisions to avoid duplicates
+		$revisions_removed = false;
+		if ( post_type_supports( bbp_get_topic_post_type(), 'revisions' ) ) {
+			$revisions_removed = true;
+			remove_post_type_support( bbp_get_topic_post_type(), 'revisions' );
+		}
+
+		// Update topic's post_modified date - since 2.6
+		wp_update_post( array(
+			'ID'                => $topic_id,
+			'post_modified'     => $new_time,
+			'post_modified_gmt' => get_gmt_from_date( $new_time )
+		) );
+
+		// Toggle revisions back on
+		if ( true === $revisions_removed ) {
+			$revisions_removed = false;
+			add_post_type_support( bbp_get_topic_post_type(), 'revisions' );
+		}
 	}
 
 	return apply_filters( 'bbp_update_topic_last_active_time', $new_time, $topic_id );
@@ -3455,7 +3487,7 @@ function bbp_display_topics_feed_rss2( $topics_query = array() ) {
 					<guid><?php bbp_topic_permalink(); ?></guid>
 					<title><![CDATA[<?php bbp_topic_title(); ?>]]></title>
 					<link><?php bbp_topic_permalink(); ?></link>
-					<pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_meta( bbp_get_topic_id(), '_bbp_last_active_time', true ) ); ?></pubDate>
+					<pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_field( 'post_modified', bbp_get_topic_id() ) ); ?></pubDate>
 					<dc:creator><?php the_author() ?></dc:creator>
 
 					<?php if ( !post_password_required() ) : ?>
diff --git includes/topics/template.php includes/topics/template.php
index ed1eff9..4d784e9 100644
--- includes/topics/template.php
+++ includes/topics/template.php
@@ -97,6 +97,7 @@ function bbp_get_topic_post_type_supports() {
  * - New Style: Topics appear as "lead" posts, ahead of replies
  *
  * @since bbPress (r2954)
+ *
  * @param $show_lead Optional. Default false
  * @return bool Yes if the topic appears as a lead, otherwise false
  */
@@ -151,8 +152,7 @@ function bbp_has_topics( $args = '' ) {
 	$default = array(
 		'post_type'      => bbp_get_topic_post_type(), // Narrow query down to bbPress topics
 		'post_parent'    => $default_post_parent,      // Forum ID
-		'meta_key'       => '_bbp_last_active_time',   // Make sure topic has some last activity time
-		'orderby'        => 'meta_value',              // 'meta_value', 'author', 'date', 'title', 'modified', 'parent', rand',
+		'orderby'        => 'modified',                // 'meta_value', 'author', 'date', 'title', 'modified', 'parent', rand',
 		'order'          => 'DESC',                    // 'ASC', 'DESC'
 		'posts_per_page' => bbp_get_topics_per_page(), // Topics per page
 		'paged'          => bbp_get_paged(),           // Page Number
@@ -279,8 +279,7 @@ function bbp_has_topics( $args = '' ) {
 				$sticky_query = array(
 					'post_type'   => bbp_get_topic_post_type(),
 					'post_parent' => 'any',
-					'meta_key'    => '_bbp_last_active_time',
-					'orderby'     => 'meta_value',
+					'orderby'     => 'modified',
 					'order'       => 'DESC',
 					'include'     => $stickies
 				);
@@ -1773,39 +1772,30 @@ function bbp_topic_last_active_time( $topic_id = 0 ) {
 	echo bbp_get_topic_last_active_time( $topic_id );
 }
 	/**
-	 * Return the topics last update date/time (aka freshness)
+	 * Return the topic's last update date/time (aka freshness)
 	 *
 	 * @since bbPress (r2625)
 	 *
 	 * @param int $topic_id Optional. Topic id
 	 * @uses bbp_get_topic_id() To get topic id
-	 * @uses get_post_meta() To get the topic lst active meta
-	 * @uses bbp_get_topic_last_reply_id() To get topic last reply id
-	 * @uses get_post_field() To get the post date of topic/reply
-	 * @uses bbp_convert_date() To convert date
+	 * @uses get_post_field() To get the post_modified of the topic
+	 * @uses bbp_convert_date() To convert the date
 	 * @uses bbp_get_time_since() To get time in since format
 	 * @uses apply_filters() Calls 'bbp_get_topic_last_active' with topic
 	 *                        freshness and topic id
 	 * @return string Topic freshness
 	 */
 	function bbp_get_topic_last_active_time( $topic_id = 0 ) {
-		$topic_id = bbp_get_topic_id( $topic_id );
 
-		// Try to get the most accurate freshness time possible
-		$last_active = get_post_meta( $topic_id, '_bbp_last_active_time', true );
-		if ( empty( $last_active ) ) {
-			$reply_id = bbp_get_topic_last_reply_id( $topic_id );
-			if ( !empty( $reply_id ) ) {
-				$last_active = get_post_field( 'post_date', $reply_id );
-			} else {
-				$last_active = get_post_field( 'post_date', $topic_id );
-			}
-		}
+		// Verify forum and get last active time
+		$topic_id = bbp_get_topic_id( $topic_id );
+		$last_active = get_post_field( 'post_modified', $topic_id );
 
-		$last_active = !empty( $last_active ) ? bbp_get_time_since( bbp_convert_date( $last_active ) ) : '';
+		// Convert to time since format
+		$active_time = !empty( $last_active ) ? bbp_get_time_since( bbp_convert_date( $last_active ) ) : '';
 
 		// Return the time since
-		return apply_filters( 'bbp_get_topic_last_active', $last_active, $topic_id );
+		return apply_filters( 'bbp_get_topic_last_active', $active_time, $topic_id );
 	}
 
 /** Topic Subscriptions *******************************************************/
