diff --git bp-groups/bp-groups-classes.php bp-groups/bp-groups-classes.php
index 6106e46..6bfe32e 100644
--- bp-groups/bp-groups-classes.php
+++ bp-groups/bp-groups-classes.php
@@ -397,9 +397,28 @@ class BP_Groups_Group {
 	 * @return array IDs of users who have been invited to the group by the
 	 *         user but have not yet accepted.
 	 */
-	public static function get_invites( $user_id, $group_id ) {
-		global $wpdb, $bp;
-		return $wpdb->get_col( $wpdb->prepare( "SELECT user_id FROM {$bp->groups->table_name_members} WHERE group_id = %d and is_confirmed = 0 AND inviter_id = %d", $group_id, $user_id ) );
+	public static function get_invites( $user_id, $group_id, $per_page = null, $page = null ) {
+		global $wpdb;
+		$bp = buddypress();
+
+		// Add pagination piece, if necessary 
+		$pag_sql = ( !empty( $per_page ) && !empty( $page ) ) ? $wpdb->prepare( " LIMIT %d, %d", intval( ( $page - 1 ) * $per_page), intval( $per_page ) ) : '';
+
+		return $wpdb->get_col( $wpdb->prepare( "SELECT user_id FROM {$bp->groups->table_name_members} WHERE group_id = %d and is_confirmed = 0 AND inviter_id = %d{$pag_sql}", $group_id, $user_id ) );
+	}
+
+	/**
+	 * Get total number of outstanding invites to a given group from a specified user.
+	 *
+	 * @param int $user_id ID of the inviting user.
+	 * @param int $group_id ID of the group.
+	 * @return int number of users who have been invited to the group by the
+	 *         user but have not yet accepted.
+	 */
+	public static function get_invite_total( $user_id, $group_id ) {
+		global $wpdb;
+		$bp = buddypress();
+		return $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(user_id) FROM {$bp->groups->table_name_members} WHERE group_id = %d and is_confirmed = 0 AND inviter_id = %d", $group_id, $user_id ) );
 	}
 
 	/**
diff --git bp-groups/bp-groups-functions.php bp-groups/bp-groups-functions.php
index 251ae96..8740c89 100644
--- bp-groups/bp-groups-functions.php
+++ bp-groups/bp-groups-functions.php
@@ -796,8 +796,24 @@ function groups_send_invites( $user_id, $group_id ) {
 	do_action( 'groups_send_invites', $group_id, $invited_users );
 }
 
-function groups_get_invites_for_group( $user_id, $group_id ) {
-	return BP_Groups_Group::get_invites( $user_id, $group_id );
+/* Get outstanding invites to a given group from a specified user.
+ * @param int $user_id Member who sent the invitation
+ * @param int $group_id Potential group
+ * @param (optional) int $per_page Number of invitations to show per page
+ * @param (optional) int $page_number Which page to show
+ * @return array of user IDs with outstanding invitations
+*/
+function groups_get_invites_for_group( $user_id, $group_id, $per_page, $page_number ) {
+	return BP_Groups_Group::get_invites( $user_id, $group_id, $per_page, $page_number );
+}
+
+/* Get total number of outstanding invites to a given group from a specified user.
+ * @param int $user_id Member who sent the invitation
+ * @param int $group_id Potential group
+ * @return int number of invitations (used for pagination)
+*/
+function groups_get_invite_total_for_group( $user_id, $group_id ) {
+	return BP_Groups_Group::get_invite_total( $user_id, $group_id );
 }
 
 /**
diff --git bp-groups/bp-groups-template.php bp-groups/bp-groups-template.php
index fe6c837..a3ef190 100644
--- bp-groups/bp-groups-template.php
+++ bp-groups/bp-groups-template.php
@@ -3080,14 +3080,39 @@ class BP_Groups_Invite_Template {
 
 	var $in_the_loop;
 
-	var $pag_page;
-	var $pag_num;
-	var $pag_links;
+	var $pag_page; // Which page of invitations is being shown
+	var $pag_num; // Number of invites to show per page
+	var $pag_links; // The html to create the pagination links
 	var $total_invite_count;
 
-	function __construct( $user_id, $group_id ) {
-		$this->invites      = groups_get_invites_for_group( $user_id, $group_id );
-		$this->invite_count = count( $this->invites );
+	function __construct( $args = '' ) {
+
+		$defaults = array( 
+			'group_id' => false, 
+			'user_id'  => bp_loggedin_user_id(),
+			'per_page' 	=> 10,
+			'page'     	=> 1
+		); 
+
+		$r = wp_parse_args( $args, $defaults ); 
+
+		extract( $r, EXTR_SKIP ); 
+
+		$this->pag_page  		= isset( $_REQUEST['invitepage'] ) ? intval( $_REQUEST['invitepage'] ) : $page; 
+		$this->pag_num    		= $per_page; 
+		$this->invites      	= groups_get_invites_for_group( $user_id, $group_id, $this->pag_num, $this->pag_page  );
+		$this->invite_count 	= count( $this->invites );
+		$this->total_invite_count = groups_get_invite_total_for_group( $user_id, $group_id ); 
+
+		$this->pag_links		= paginate_links( array( 
+			'base' => add_query_arg( 'invitepage', '%#%' ), 
+			'format' => '', 
+			'total' => ceil( $this->total_invite_count / $this->pag_num ), 
+			'current' => $this->pag_page, 
+			'prev_text' => '&larr;', 
+			'next_text' => '&rarr;', 
+			'mid_size' => 1 
+		) ); 
 	}
 
 	function has_invites() {
@@ -3138,11 +3163,14 @@ class BP_Groups_Invite_Template {
 }
 
 function bp_group_has_invites( $args = '' ) {
-	global $bp, $invites_template, $group_id;
+	global $invites_template, $group_id;
+	$bp = buddypress();
 
 	$defaults = array(
-		'group_id' => false,
-		'user_id' => bp_loggedin_user_id()
+		'group_id' 	=> false,
+		'user_id' 	=> bp_loggedin_user_id(),
+		'per_page' 	=> 10,
+		'page'     	=> 1
 	);
 
 	$r = wp_parse_args( $args, $defaults );
@@ -3160,7 +3188,15 @@ function bp_group_has_invites( $args = '' ) {
 	if ( !$group_id )
 		return false;
 
-	$invites_template = new BP_Groups_Invite_Template( $user_id, $group_id );
+	$args = array(
+		'group_id' 	=> $group_id,
+		'user_id' 	=> $user_id,
+		'per_page' 	=> $per_page,
+		'page'     	=> $page
+	);
+
+	$invites_template = new BP_Groups_Invite_Template( $args );
+
 	return apply_filters( 'bp_group_has_invites', $invites_template->has_invites(), $invites_template );
 }
 
@@ -3220,6 +3256,28 @@ function bp_group_invite_user_remove_invite_url() {
 
 		return wp_nonce_url( site_url( bp_get_groups_slug() . '/' . $invites_template->invite->group_id . '/invites/remove/' . $invites_template->invite->user->id ), 'groups_invite_uninvite_user' );
 	}
+function bp_group_invite_pagination_links() { 
+	echo bp_get_group_invite_pagination_links(); 
+} 
+	function bp_get_group_invite_pagination_links() { 
+		global $invites_template; 
+
+		return apply_filters( 'bp_get_group_invite_pagination_links', $invites_template->pag_links ); 
+	}
+
+function bp_group_invite_pagination_count() { 
+	echo bp_get_group_invite_pagination_count(); 
+} 
+	function bp_get_group_invite_pagination_count() { 
+		global $invites_template; 
+
+		$start_num = intval( ( $invites_template->pag_page - 1 ) * $invites_template->pag_num ) + 1; 
+		$from_num  = bp_core_number_format( $start_num ); 
+		$to_num    = bp_core_number_format( ( $start_num + ( $invites_template->pag_num - 1 ) > $invites_template->total_invite_count ) ? $invites_template->total_invite_count : $start_num + ( $invites_template->pag_num - 1 ) ); 
+		$total     = bp_core_number_format( $invites_template->total_invite_count ); 
+
+		return apply_filters( 'bp_get_groups_pagination_count', sprintf( _n( 'Viewing invitation %1$s to %2$s (of %3$s invitation)', 'Viewing invitation %1$s to %2$s (of %3$s invitations)', $total, 'buddypress' ), $from_num, $to_num, $total ), $from_num, $to_num, $total ); 
+	}
 
 /***
  * Groups RSS Feed Template Tags
diff --git bp-templates/bp-legacy/buddypress-functions.php bp-templates/bp-legacy/buddypress-functions.php
index d8963f5..509a6e2 100644
--- bp-templates/bp-legacy/buddypress-functions.php
+++ bp-templates/bp-legacy/buddypress-functions.php
@@ -139,6 +139,7 @@ class BP_Legacy extends BP_Theme_Compat {
 			'groups_filter'   => 'bp_legacy_theme_object_template_loader',
 			'members_filter'  => 'bp_legacy_theme_object_template_loader',
 			'messages_filter' => 'bp_legacy_theme_messages_template_loader',
+            'invite_filter'   => 'bp_legacy_theme_invite_template_loader', 
 
 			// Friends
 			'accept_friendship' => 'bp_legacy_theme_ajax_accept_friendship',
@@ -600,6 +601,17 @@ function bp_legacy_theme_messages_template_loader() {
 	exit();
 }
 
+/** 
+ * Load group invitations loop to handle pagination requests sent via AJAX 
+ * 
+ * @return string Prints template loop for a group's Invitations screen 
+ * @since BuddyPress (2.0) 
+ */ 
+function bp_legacy_theme_invite_template_loader() { 
+	bp_get_template_part( 'groups/single/invites-loop' ); 
+	exit(); 
+} 
+
 /**
  * Load the activity loop template when activity is requested via AJAX,
  *
diff --git bp-templates/bp-legacy/buddypress/groups/single/invites-loop.php bp-templates/bp-legacy/buddypress/groups/single/invites-loop.php
new file mode 100644
index 0000000..fd4259f
--- /dev/null
+++ bp-templates/bp-legacy/buddypress/groups/single/invites-loop.php
@@ -0,0 +1,94 @@
+<div class="left-menu">
+
+	<div id="invite-list">
+		<ul>
+			<?php bp_new_group_invite_friend_list(); ?>
+		</ul>
+
+		<?php wp_nonce_field( 'groups_invite_uninvite_user', '_wpnonce_invite_uninvite_user' ); ?>
+	</div>
+
+</div><!-- .left-menu -->
+
+<div class="main-column">
+
+	<div id="message" class="info">
+		<p><?php _e('Select people to invite from your friends list.', 'buddypress' ); ?></p>
+	</div>
+
+	<?php do_action( 'bp_before_group_send_invites_list' ); ?>
+
+	<?php if ( bp_group_has_invites( bp_ajax_querystring( 'invite' ) ) ) : ?>
+
+	<div id="pag-top" class="pagination"> 
+
+		<div class="pag-count" id="group-invite-count-top"> 
+
+			<?php bp_group_invite_pagination_count(); ?> 
+
+		</div> 
+
+		<div class="pagination-links" id="group-invite-pag-top"> 
+
+			<?php bp_group_invite_pagination_links(); ?> 
+
+		</div> 
+
+	</div>
+
+	<?php /* The ID 'friend-list' is important for AJAX support. */ ?>
+	<ul id="friend-list" class="item-list">
+
+		<?php while ( bp_group_invites() ) : bp_group_the_invite(); ?>
+
+			<li id="<?php bp_group_invite_item_id(); ?>">
+				<?php bp_group_invite_user_avatar(); ?>
+
+				<h4><?php bp_group_invite_user_link(); ?></h4>
+				<span class="activity"><?php bp_group_invite_user_last_active(); ?></span>
+
+				<?php do_action( 'bp_group_send_invites_item' ); ?>
+
+				<div class="action">
+					<a class="button remove" href="<?php bp_group_invite_user_remove_invite_url(); ?>" id="<?php bp_group_invite_item_id(); ?>"><?php _e( 'Remove Invite', 'buddypress' ); ?></a>
+
+					<?php do_action( 'bp_group_send_invites_item_action' ); ?>
+				</div>
+			</li>
+
+		<?php endwhile; ?>
+
+	</ul><!-- #friend-list -->
+
+	<div id="pag-bottom" class="pagination"> 
+
+		<div class="pag-count" id="group-invite-count-bottom"> 
+
+			<?php bp_group_invite_pagination_count(); ?> 
+
+		</div> 
+
+		<div class="pagination-links" id="group-invite-pag-bottom"> 
+
+			<?php bp_group_invite_pagination_links(); ?> 
+
+		</div> 
+
+	</div> 
+
+	<?php endif; ?>
+
+	<?php do_action( 'bp_after_group_send_invites_list' ); ?>	
+
+</div><!-- .main-column -->
+
+<div class="clear"></div>
+
+<div class="submit">
+	<input type="submit" name="submit" id="submit" value="<?php esc_attr_e( 'Send Invites', 'buddypress' ); ?>" />
+</div>
+
+<?php wp_nonce_field( 'groups_send_invites', '_wpnonce_send_invites' ); ?>
+
+<?php /* This is important, don't forget it */ ?>
+<input type="hidden" name="group_id" id="group_id" value="<?php bp_group_id(); ?>" />
\ No newline at end of file
diff --git bp-templates/bp-legacy/buddypress/groups/single/send-invites.php bp-templates/bp-legacy/buddypress/groups/single/send-invites.php
index c2f0500..8d93ef5 100644
--- bp-templates/bp-legacy/buddypress/groups/single/send-invites.php
+++ bp-templates/bp-legacy/buddypress/groups/single/send-invites.php
@@ -2,68 +2,14 @@
 
 <?php if ( bp_get_total_friend_count( bp_loggedin_user_id() ) ) : ?>
 
+	<?php /* The ID 'send-invite-form' is important for AJAX support. */ ?>
 	<form action="<?php bp_group_send_invite_form_action(); ?>" method="post" id="send-invite-form" class="standard-form" role="main">
 
-		<div class="left-menu">
+		<div class="invite"> <!-- Used for AJAX pagination -->
 
-			<div id="invite-list">
-				<ul>
-					<?php bp_new_group_invite_friend_list(); ?>
-				</ul>
+			<?php bp_get_template_part( 'groups/single/invites-loop'  ); ?>
 
-				<?php wp_nonce_field( 'groups_invite_uninvite_user', '_wpnonce_invite_uninvite_user' ); ?>
-			</div>
-
-		</div><!-- .left-menu -->
-
-		<div class="main-column">
-
-			<div id="message" class="info">
-				<p><?php _e('Select people to invite from your friends list.', 'buddypress' ); ?></p>
-			</div>
-
-			<?php do_action( 'bp_before_group_send_invites_list' ); ?>
-
-			<?php /* The ID 'friend-list' is important for AJAX support. */ ?>
-			<ul id="friend-list" class="item-list">
-			<?php if ( bp_group_has_invites() ) : ?>
-
-				<?php while ( bp_group_invites() ) : bp_group_the_invite(); ?>
-
-					<li id="<?php bp_group_invite_item_id(); ?>">
-						<?php bp_group_invite_user_avatar(); ?>
-
-						<h4><?php bp_group_invite_user_link(); ?></h4>
-						<span class="activity"><?php bp_group_invite_user_last_active(); ?></span>
-
-						<?php do_action( 'bp_group_send_invites_item' ); ?>
-
-						<div class="action">
-							<a class="button remove" href="<?php bp_group_invite_user_remove_invite_url(); ?>" id="<?php bp_group_invite_item_id(); ?>"><?php _e( 'Remove Invite', 'buddypress' ); ?></a>
-
-							<?php do_action( 'bp_group_send_invites_item_action' ); ?>
-						</div>
-					</li>
-
-				<?php endwhile; ?>
-
-			<?php endif; ?>
-			</ul><!-- #friend-list -->
-
-			<?php do_action( 'bp_after_group_send_invites_list' ); ?>
-
-		</div><!-- .main-column -->
-
-		<div class="clear"></div>
-
-		<div class="submit">
-			<input type="submit" name="submit" id="submit" value="<?php esc_attr_e( 'Send Invites', 'buddypress' ); ?>" />
-		</div>
-
-		<?php wp_nonce_field( 'groups_send_invites', '_wpnonce_send_invites' ); ?>
-
-		<?php /* This is important, don't forget it */ ?>
-		<input type="hidden" name="group_id" id="group_id" value="<?php bp_group_id(); ?>" />
+		</div> <!-- .invite -->
 
 	</form><!-- #send-invite-form -->
 
@@ -75,4 +21,4 @@
 
 <?php endif; ?>
 
-<?php do_action( 'bp_after_group_send_invites_content' ); ?>
+<?php do_action( 'bp_after_group_send_invites_content' ); ?>
\ No newline at end of file
diff --git bp-templates/bp-legacy/css/buddypress.css bp-templates/bp-legacy/css/buddypress.css
index 6c13c70..befd22c 100644
--- bp-templates/bp-legacy/css/buddypress.css
+++ bp-templates/bp-legacy/css/buddypress.css
@@ -764,6 +764,7 @@ a.bp-title-button {
 
 #buddypress form.standard-form .main-column ul#friend-list {
 	clear:none;
+	float: left;
 }
 
 #buddypress form.standard-form .main-column ul#friend-list h4 {
diff --git bp-templates/bp-legacy/js/buddypress.js bp-templates/bp-legacy/js/buddypress.js
index 3afc762..5ebbba9 100644
--- bp-templates/bp-legacy/js/buddypress.js
+++ bp-templates/bp-legacy/js/buddypress.js
@@ -901,8 +901,10 @@ jq(document).ready( function() {
 	/** Invite Friends Interface ****************************************/
 
 	/* Select a user from the list of friends and add them to the invite list */
-	jq("#invite-list input").on( 'click', function() {
+	jq("#send-invite-form").on( 'click', "#invite-list input", function() {
 		jq('.ajax-loader').toggle();
+		// Dim the form until the response arrives
+		jq(this).parents('ul').find('input').prop('disabled', true);
 
 		var friend_id = jq(this).val();
 
@@ -928,18 +930,16 @@ jq(document).ready( function() {
 
 			jq('.ajax-loader').toggle();
 
-			if ( friend_action == 'invite' ) {
-				jq('#friend-list').append(response);
-			} else if ( friend_action == 'uninvite' ) {
-				jq('#friend-list li#uid-' + friend_id).remove();
-			}
-
 			jq('.item-list-tabs li.selected').removeClass('loading');
+		})
+		.done(function() {
+			// Refresh entire list (keeps pagination and totals up to date)
+			bp_filter_request( 'invite', 'bp-invite-filter', 'bp-invite-scope', 'div.invite', false, 1, '', '', '');
 		});
 	});
 
 	/* Remove a user from the list of users to invite to a group */
-	jq("#friend-list").on('click', 'li a.remove', function() {
+	jq("#send-invite-form").on('click', '#friend-list a.remove', function() {
 		jq('.ajax-loader').toggle();
 
 		var friend_id = jq(this).attr('id');
@@ -957,8 +957,11 @@ jq(document).ready( function() {
 		function(response)
 		{
 			jq('.ajax-loader').toggle();
-			jq('#friend-list #uid-' + friend_id).remove();
-			jq('#invite-list #f-' + friend_id).prop('checked', false);
+			
+		})
+		.done(function() {
+			// Refresh entire list (keeps pagination and totals up to date and invite checkbox list synchronized)
+			bp_filter_request( 'invite', 'bp-invite-filter', 'bp-invite-scope', 'div.invite', false, 1, '', '', '');
 		});
 
 		return false;
