Index: bp-core/bp-core-filters.php
===================================================================
--- bp-core/bp-core-filters.php	(revision 6825)
+++ bp-core/bp-core-filters.php	(working copy)
@@ -91,7 +91,7 @@
 	if ( !empty( $bp->pages->register ) )
 		$pages[] = $bp->pages->register->id;
 
-	if ( !empty( $bp->pages->forums ) )
+	if ( !empty( $bp->pages->forums ) && ( !bp_is_active( 'forums' ) || ( bp_is_active( 'forums' ) && bp_forums_has_directory() && !bp_forums_is_installed_correctly() ) ) )
 		$pages[] = $bp->pages->forums->id;
 
 	return apply_filters( 'bp_core_exclude_pages', $pages );
Index: bp-templates/bp-legacy/buddypress/forums/index.php
===================================================================
--- bp-templates/bp-legacy/buddypress/forums/index.php	(revision 6825)
+++ bp-templates/bp-legacy/buddypress/forums/index.php	(working copy)
@@ -1,136 +1,140 @@
-<?php do_action( 'bp_before_directory_forums' ); ?>
+<div id="buddypress">
+	
+	<?php do_action( 'bp_before_directory_forums' ); ?>
 
-<form action="" method="post" id="forums-search-form" class="dir-form">
+	<form action="" method="post" id="forums-search-form" class="dir-form">
 
-	<?php do_action( 'bp_before_directory_forums_content' ); ?>
+		<?php do_action( 'bp_before_directory_forums_content' ); ?>
 
-	<div id="forums-dir-search" class="dir-search" role="search">
+		<div id="forums-dir-search" class="dir-search" role="search">
 
-		<?php bp_directory_forums_search_form(); ?>
+			<?php bp_directory_forums_search_form(); ?>
 
-	</div>
-</form>
+		</div>
+	</form>
 
-<?php do_action( 'bp_before_topics' ); ?>
+	<?php do_action( 'bp_before_topics' ); ?>
 
-<form action="" method="post" id="forums-directory-form" class="dir-form">
+	<form action="" method="post" id="forums-directory-form" class="dir-form">
 
-	<div class="item-list-tabs" role="navigation">
-		<ul>
-			<li class="selected" id="forums-all"><a href="<?php echo trailingslashit( bp_get_root_domain() . '/' . bp_get_forums_root_slug() ); ?>"><?php printf( __( 'All Topics <span>%s</span>', 'buddypress' ), bp_get_forum_topic_count() ); ?></a></li>
+		<div class="item-list-tabs" role="navigation">
+			<ul>
+				<li class="selected" id="forums-all"><a href="<?php echo trailingslashit( bp_get_root_domain() . '/' . bp_get_forums_root_slug() ); ?>"><?php printf( __( 'All Topics <span>%s</span>', 'buddypress' ), bp_get_forum_topic_count() ); ?></a></li>
 
-			<?php if ( is_user_logged_in() && bp_get_forum_topic_count_for_user( bp_loggedin_user_id() ) ) : ?>
+				<?php if ( is_user_logged_in() && bp_get_forum_topic_count_for_user( bp_loggedin_user_id() ) ) : ?>
 
-				<li id="forums-personal"><a href="<?php echo trailingslashit( bp_loggedin_user_domain() . bp_get_forums_slug() . '/topics' ); ?>"><?php printf( __( 'My Topics <span>%s</span>', 'buddypress' ), bp_get_forum_topic_count_for_user( bp_loggedin_user_id() ) ); ?></a></li>
+					<li id="forums-personal"><a href="<?php echo trailingslashit( bp_loggedin_user_domain() . bp_get_forums_slug() . '/topics' ); ?>"><?php printf( __( 'My Topics <span>%s</span>', 'buddypress' ), bp_get_forum_topic_count_for_user( bp_loggedin_user_id() ) ); ?></a></li>
 
-			<?php endif; ?>
+				<?php endif; ?>
 
-			<?php do_action( 'bp_forums_directory_group_types' ); ?>
+				<?php do_action( 'bp_forums_directory_group_types' ); ?>
 
-		</ul>
-	</div>
+			</ul>
+		</div>
 
-	<div class="item-list-tabs" id="subnav" role="navigation">
-		<ul>
+		<div class="item-list-tabs" id="subnav" role="navigation">
+			<ul>
 
-			<?php do_action( 'bp_forums_directory_group_sub_types' ); ?>
+				<?php do_action( 'bp_forums_directory_group_sub_types' ); ?>
 
-			<li id="forums-order-select" class="last filter">
+				<li id="forums-order-select" class="last filter">
 
-				<label for="forums-order-by"><?php _e( 'Order By:', 'buddypress' ); ?></label>
-				<select id="forums-order-by">
-					<option value="active"><?php _e( 'Last Active', 'buddypress' ); ?></option>
-					<option value="popular"><?php _e( 'Most Posts', 'buddypress' ); ?></option>
-					<option value="unreplied"><?php _e( 'Unreplied', 'buddypress' ); ?></option>
+					<label for="forums-order-by"><?php _e( 'Order By:', 'buddypress' ); ?></label>
+					<select id="forums-order-by">
+						<option value="active"><?php _e( 'Last Active', 'buddypress' ); ?></option>
+						<option value="popular"><?php _e( 'Most Posts', 'buddypress' ); ?></option>
+						<option value="unreplied"><?php _e( 'Unreplied', 'buddypress' ); ?></option>
 
-					<?php do_action( 'bp_forums_directory_order_options' ); ?>
+						<?php do_action( 'bp_forums_directory_order_options' ); ?>
 
-				</select>
-			</li>
-		</ul>
-	</div>
+					</select>
+				</li>
+			</ul>
+		</div>
 
-	<div id="forums-dir-list" class="forums dir-list" role="main">
+		<div id="forums-dir-list" class="forums dir-list" role="main">
 
-		<?php bp_get_template_part( 'forums/forums-loop' ); ?>
+			<?php bp_get_template_part( 'forums/forums-loop' ); ?>
 
-	</div>
+		</div>
 
-	<?php do_action( 'bp_directory_forums_content' ); ?>
+		<?php do_action( 'bp_directory_forums_content' ); ?>
 
-	<?php wp_nonce_field( 'directory_forums', '_wpnonce-forums-filter' ); ?>
+		<?php wp_nonce_field( 'directory_forums', '_wpnonce-forums-filter' ); ?>
 
-</form>
+	</form>
 
-<?php do_action( 'bp_after_directory_forums' ); ?>
+	<?php do_action( 'bp_after_directory_forums' ); ?>
 
-<?php do_action( 'bp_before_new_topic_form' ); ?>
+	<?php do_action( 'bp_before_new_topic_form' ); ?>
 
-<div id="new-topic-post">
+	<div id="new-topic-post">
 
-	<?php if ( is_user_logged_in() ) : ?>
+		<?php if ( is_user_logged_in() ) : ?>
 
-		<?php if ( bp_is_active( 'groups' ) && bp_has_groups( 'user_id=' . bp_loggedin_user_id() . '&type=alphabetical&max=100&per_page=100' ) ) : ?>
+			<?php if ( bp_is_active( 'groups' ) && bp_has_groups( 'user_id=' . bp_loggedin_user_id() . '&type=alphabetical&max=100&per_page=100' ) ) : ?>
 
-			<form action="" method="post" id="forum-topic-form" class="standard-form">
+				<form action="" method="post" id="forum-topic-form" class="standard-form">
 
-				<?php do_action( 'groups_forum_new_topic_before' ); ?>
+					<?php do_action( 'groups_forum_new_topic_before' ); ?>
 
-				<a name="post-new"></a>
-				<h5><?php _e( 'Create New Topic:', 'buddypress' ); ?></h5>
+					<a name="post-new"></a>
+					<h5><?php _e( 'Create New Topic:', 'buddypress' ); ?></h5>
 
-				<?php do_action( 'template_notices' ); ?>
+					<?php do_action( 'template_notices' ); ?>
 
-				<label><?php _e( 'Title:', 'buddypress' ); ?></label>
-				<input type="text" name="topic_title" id="topic_title" value="" maxlength="100" />
+					<label><?php _e( 'Title:', 'buddypress' ); ?></label>
+					<input type="text" name="topic_title" id="topic_title" value="" maxlength="100" />
 
-				<label><?php _e( 'Content:', 'buddypress' ); ?></label>
-				<textarea name="topic_text" id="topic_text"></textarea>
+					<label><?php _e( 'Content:', 'buddypress' ); ?></label>
+					<textarea name="topic_text" id="topic_text"></textarea>
 
-				<label><?php _e( 'Tags (comma separated):', 'buddypress' ); ?></label>
-				<input type="text" name="topic_tags" id="topic_tags" value="" />
+					<label><?php _e( 'Tags (comma separated):', 'buddypress' ); ?></label>
+					<input type="text" name="topic_tags" id="topic_tags" value="" />
 
-				<label><?php _e( 'Post In Group Forum:', 'buddypress' ); ?></label>
-				<select id="topic_group_id" name="topic_group_id">
+					<label><?php _e( 'Post In Group Forum:', 'buddypress' ); ?></label>
+					<select id="topic_group_id" name="topic_group_id">
 
-					<option value=""><?php /* translators: no option picked in select box */ _e( '----', 'buddypress' ); ?></option>
+						<option value=""><?php /* translators: no option picked in select box */ _e( '----', 'buddypress' ); ?></option>
 
-					<?php while ( bp_groups() ) : bp_the_group(); ?>
+						<?php while ( bp_groups() ) : bp_the_group(); ?>
 
-						<?php if ( bp_group_is_forum_enabled() && ( bp_current_user_can( 'bp_moderate' ) || 'public' == bp_get_group_status() || bp_group_is_member() ) ) : ?>
+							<?php if ( bp_group_is_forum_enabled() && ( bp_current_user_can( 'bp_moderate' ) || 'public' == bp_get_group_status() || bp_group_is_member() ) ) : ?>
 
-							<option value="<?php bp_group_id(); ?>"><?php bp_group_name(); ?></option>
+								<option value="<?php bp_group_id(); ?>"><?php bp_group_name(); ?></option>
 
-						<?php endif; ?>
+							<?php endif; ?>
 
-					<?php endwhile; ?>
+						<?php endwhile; ?>
 
-				</select><!-- #topic_group_id -->
+					</select><!-- #topic_group_id -->
 
-				<?php do_action( 'groups_forum_new_topic_after' ); ?>
+					<?php do_action( 'groups_forum_new_topic_after' ); ?>
 
-				<div class="submit">
-					<input type="submit" name="submit_topic" id="submit" value="<?php _e( 'Post Topic', 'buddypress' ); ?>" />
-					<input type="button" name="submit_topic_cancel" id="submit_topic_cancel" value="<?php _e( 'Cancel', 'buddypress' ); ?>" />
-				</div>
+					<div class="submit">
+						<input type="submit" name="submit_topic" id="submit" value="<?php _e( 'Post Topic', 'buddypress' ); ?>" />
+						<input type="button" name="submit_topic_cancel" id="submit_topic_cancel" value="<?php _e( 'Cancel', 'buddypress' ); ?>" />
+					</div>
 
-				<?php wp_nonce_field( 'bp_forums_new_topic' ); ?>
+					<?php wp_nonce_field( 'bp_forums_new_topic' ); ?>
 
-			</form><!-- #forum-topic-form -->
+				</form><!-- #forum-topic-form -->
 
-		<?php elseif ( bp_is_active( 'groups' ) ) : ?>
+			<?php elseif ( bp_is_active( 'groups' ) ) : ?>
 
-			<div id="message" class="info">
+				<div id="message" class="info">
 
-				<p><?php printf( __( "You are not a member of any groups so you don't have any group forums you can post in. To start posting, first find a group that matches the topic subject you'd like to start. If this group does not exist, why not <a href='%s'>create a new group</a>? Once you have joined or created the group you can post your topic in that group's forum.", 'buddypress' ), site_url( bp_get_groups_root_slug() . '/create/' ) ); ?></p>
+					<p><?php printf( __( "You are not a member of any groups so you don't have any group forums you can post in. To start posting, first find a group that matches the topic subject you'd like to start. If this group does not exist, why not <a href='%s'>create a new group</a>? Once you have joined or created the group you can post your topic in that group's forum.", 'buddypress' ), site_url( bp_get_groups_root_slug() . '/create/' ) ); ?></p>
 
-			</div>
+				</div>
 
+			<?php endif; ?>
+
 		<?php endif; ?>
+	</div><!-- #new-topic-post -->
 
-	<?php endif; ?>
-</div><!-- #new-topic-post -->
+	<?php do_action( 'bp_after_new_topic_form' ); ?>
 
-<?php do_action( 'bp_after_new_topic_form' ); ?>
-
-<?php do_action( 'bp_after_directory_forums_content' ); ?>
\ No newline at end of file
+	<?php do_action( 'bp_after_directory_forums_content' ); ?>
+	
+</div>
\ No newline at end of file
Index: bp-forums/bp-forums-screens.php
===================================================================
--- bp-forums/bp-forums-screens.php	(revision 6825)
+++ bp-forums/bp-forums-screens.php	(working copy)
@@ -118,3 +118,98 @@
 	bp_core_load_template( apply_filters( 'bp_forums_screen_single_topic', 'forums/single/topic' ) );
 }
 add_action( 'bp_screens', 'bp_forums_screen_single_topic' );
+
+
+/** Theme Compatability *******************************************************/
+
+/**
+ * The main theme compat class for BuddyPress "old" forums
+ *
+ * This class sets up the necessary theme compatability actions to safely output
+ * old forum template parts to the_title and the_content areas of a theme.
+ *
+ * @since BuddyPress (1.7)
+ */
+class BP_bbForum_Theme_Compat {
+
+	/**
+	 * Setup the old forums component theme compatibility
+	 *
+	 * @since BuddyPress (1.7)
+	 */
+	public function __construct() {
+		add_action( 'bp_setup_theme_compat', array( $this, 'is_bb_forum' ) );
+	}
+
+	/**
+	 * Are we looking at something that needs old forum theme compatability?
+	 *
+	 * @since BuddyPress (1.7)
+	 */
+	public function is_bb_forum() {
+
+		// Bail if not looking at a group
+		if ( ! bp_is_forums_component() )
+			return;
+
+		// forum Directory
+		if ( ( !bp_current_action() || ( 'tag' == bp_current_action() && bp_action_variables() ) ) && !bp_current_item() ) {
+			
+			if ( !bp_forums_has_directory() )
+				return false;
+
+			if ( !bp_forums_is_installed_correctly() ) {
+				bp_core_add_message( __( 'The forums component has not been set up yet.', 'buddypress' ), 'error' );
+				bp_core_redirect( bp_get_root_domain() );
+			}
+			
+			bp_update_is_directory( true, 'forums' );
+
+			do_action( 'bp_forums_directory_forums_setup' );
+
+			add_action( 'bp_template_include_reset_dummy_post_data', array( $this, 'directory_dummy_post' ) );
+			add_filter( 'bp_replace_the_content',                    array( $this, 'directory_content'    ) );
+
+		} 
+		
+	}
+
+	/** Directory *************************************************************/
+
+	/**
+	 * Update the global $post with directory data
+	 *
+	 * @since BuddyPress (1.7)
+	 */
+	public function directory_dummy_post() {
+
+		// Title based on ability to create groups
+		if ( is_user_logged_in() ) {
+			$title = __( 'Forums Directory', 'buddypress' ) . '&nbsp;<a class="button show-hide-new bp-title-button" href="#new-topic" id="new-topic-button">' . __( 'New Topic', 'buddypress' ) . '</a>';
+		} else {
+			$title = __( 'Forums Directory', 'buddypress' );
+		}
+
+		bp_theme_compat_reset_post( array(
+			'ID'             => 0,
+			'post_title'     => $title,
+			'post_author'    => 0,
+			'post_date'      => 0,
+			'post_content'   => '',
+			'post_type'      => 'bp_forum',
+			'post_status'    => 'publish',
+			'is_archive'     => true,
+			'comment_status' => 'closed'
+		) );
+	}
+
+	/**
+	 * Filter the_content with the old forum index template part
+	 *
+	 * @since BuddyPress (1.7)
+	 */
+	public function directory_content() {
+		bp_buffer_template_part( 'forums/index' );
+	}
+}
+new BP_bbForum_Theme_Compat();
\ No newline at end of file
