diff --git a/bbPress/shortcodes.php b/bbPress/shortcodes.php
index 47a7b82..e2fc8e9 100644
--- a/bbPress/shortcodes.php
+++ b/bbPress/shortcodes.php
@@ -55,35 +55,36 @@ class BBP_Shortcodes {
 
            /** Forums ********************************************************/
 
-           'bbp-forum-index'      => array( $this, 'display_forum_index'   ), // Forum Index
-           'bbp-forum-form'       => array( $this, 'display_forum_form'    ), // Topic form
-           'bbp-single-forum'     => array( $this, 'display_forum'         ), // Specific forum - pass an 'id' attribute
+           'bbp-forum-index'      => array( $this, 'display_forum_index'    ), // Forum Index
+           'bbp-forum-form'       => array( $this, 'display_forum_form'     ), // Topic form
+           'bbp-single-forum'     => array( $this, 'display_forum'          ), // Specific forum - pass an 'id' attribute
 
            /** Topics ********************************************************/
 
-           'bbp-topic-index'      => array( $this, 'display_topic_index'   ), // Topic index
-           'bbp-topic-form'       => array( $this, 'display_topic_form'    ), // Topic form
-           'bbp-single-topic'     => array( $this, 'display_topic'         ), // Specific topic - pass an 'id' attribute
+           'bbp-topic-index'      => array( $this, 'display_topic_index'    ), // Topic index
+           'bbp-topic-form'       => array( $this, 'display_topic_form'     ), // Topic form
+           'bbp-single-topic'     => array( $this, 'display_topic'          ), // Specific topic - pass an 'id' attribute
+           'bbp-topic-in-forum'   => array( $this, 'display_topic_in_forum' ), // New topic in specific forum - pass an 'id' attribute
 
            /** Topic Tags ****************************************************/
 
-           'bbp-topic-tags'       => array( $this, 'display_topic_tags'    ), // All topic tags in a cloud
-           'bbp-single-tag'       => array( $this, 'display_topics_of_tag' ), // Topics of Tag
+           'bbp-topic-tags'       => array( $this, 'display_topic_tags'     ), // All topic tags in a cloud
+           'bbp-single-tag'       => array( $this, 'display_topics_of_tag'  ), // Topics of Tag
 
            /** Replies *******************************************************/
 
-           'bbp-reply-form'       => array( $this, 'display_reply_form'    ), // Reply form
-           'bbp-single-reply'     => array( $this, 'display_reply'         ), // Specific reply - pass an 'id' attribute
+           'bbp-reply-form'       => array( $this, 'display_reply_form'     ), // Reply form
+           'bbp-single-reply'     => array( $this, 'display_reply'          ), // Specific reply - pass an 'id' attribute
 
            /** Views *********************************************************/
 
-           'bbp-single-view'      => array( $this, 'display_view'          ), // Single view
+           'bbp-single-view'      => array( $this, 'display_view'           ), // Single view
 
            /** Account *******************************************************/
 
-           'bbp-login'            => array( $this, 'display_login'         ), // Login
-           'bbp-register'         => array( $this, 'display_register'      ), // Register
-           'bbp-lost-pass'        => array( $this, 'display_lost_pass'     ), // Lost Password
+           'bbp-login'            => array( $this, 'display_login'          ), // Login
+           'bbp-register'         => array( $this, 'display_register'       ), // Register
+           'bbp-lost-pass'        => array( $this, 'display_lost_pass'      ), // Lost Password
        ) );
    }
 
@@ -383,6 +384,46 @@ class BBP_Shortcodes {
        return $this->end();
    }
 
+   /**
+    * Display the new topic form for a specific forum ID in an output buffer
+    * and return to ensure post/page contents are displayed first.
+    *
+    * @since bbPress (r3031)
+    *
+    * @uses get_template_part()
+    */
+   public function display_topic_in_forum( $attr, $content = '' ) {
+
+       // Sanity check required info
+       if ( !empty( $content ) || ( empty( $attr['id'] ) || !is_numeric( $attr['id'] ) ) )
+           return $content;
+
+       // Unset globals
+       $this->unset_globals();
+
+       // Set passed attribute to $forum_id for clarity
+       $forum_id = bbpress()->current_forum_id = $attr['id'];
+
+       // Bail if ID passed is not a forum
+       if ( !bbp_is_forum( $forum_id ) )
+           return $content;
+
+       // Start output buffer
+       $this->start( 'bbp_topic_in_forum' );
+
+       // Check forum caps - Also need to make sure forum_id is not a category
+       if ( bbp_user_can_view_forum( array( 'forum_id' => $forum_id ) ) ) {
+           bbp_get_template_part( 'form',  'topic' );
+
+       // Forum is private and user does not have caps
+       } elseif ( bbp_is_forum_private( $forum_id, false ) ) {
+           bbp_get_template_part( 'feedback', 'no-access'    );
+       }
+
+       // Return contents of output buffer
+       return $this->end();
+   }
+
    /** Replies ***************************************************************/
 
    /**
@@ -675,7 +716,7 @@ class BBP_Shortcodes {
        return $this->end();
    }
 
-   /** Other *****************************************************************/
+   /** Breadcrumb ************************************************************/
 
    /**
     * Display a breadcrumb