Index: src/bp-members/bp-members-functions.php
===================================================================
--- src/bp-members/bp-members-functions.php	(revision 12479)
+++ src/bp-members/bp-members-functions.php	(working copy)
@@ -1760,7 +1760,7 @@
 			'meta'           => $usermeta,
 		);
 
-		BP_Signup::add( $args );
+		$signup_id = BP_Signup::add( $args );
 
 		/**
 		 * Filters if BuddyPress should send an activation key for a new signup.
@@ -1781,6 +1781,14 @@
 			}
 
 			bp_core_signup_send_validation_email( $user_id, $user_email, $activation_key, $salutation );
+		} elseif ( $signup_id ) {
+			// Trace the fact this signup email was not sent.
+			$usermeta['sent_date'] = '0000-00-00 00:00:00';
+
+			BP_Signup::update( array(
+				'signup_id' => $signup_id,
+				'meta'      => $usermeta,
+			) );
 		}
 	}
 
Index: src/bp-members/classes/class-bp-members-admin.php
===================================================================
--- src/bp-members/classes/class-bp-members-admin.php	(revision 12479)
+++ src/bp-members/classes/class-bp-members-admin.php	(working copy)
@@ -2118,9 +2118,14 @@
 
 			<ol class="bp-signups-list">
 			<?php foreach ( $signups as $signup ) :
-				$last_notified = mysql2date( 'Y/m/d g:i:s a', $signup->date_sent );
 				$profile_field_ids = array();
 
+				if ( ! $signup->sent_date || '0000-00-00 00:00:00' === $signup->sent_date ) {
+					$last_notified = __( 'Unsent', 'buddypress' );
+				} else {
+					$last_notified = mysql2date( 'Y/m/d g:i:s a', $signup->sent_date );
+				}
+
 				// Get all xprofile field IDs except field 1.
 				if ( ! empty( $signup->meta['profile_field_ids'] ) ) {
 					$profile_field_ids = array_flip( explode( ',', $signup->meta['profile_field_ids'] ) );
Index: src/bp-members/classes/class-bp-members-list-table.php
===================================================================
--- src/bp-members/classes/class-bp-members-list-table.php	(revision 12479)
+++ src/bp-members/classes/class-bp-members-list-table.php	(working copy)
@@ -313,7 +313,7 @@
 		$actions = array();
 
 		$actions['activate'] = sprintf( '<a href="%1$s">%2$s</a>', esc_url( $activate_link ), __( 'Activate', 'buddypress' ) );
-		$actions['resend']   = sprintf( '<a href="%1$s">%2$s</a>', esc_url( $email_link ), __( 'Email', 'buddypress' ) );
+		$actions['resend']   = sprintf( '<a href="%1$s">%2$s</a>', esc_url( $email_link ), _x( 'Email', 'Resend signup activation key', 'buddypress' ) );
 
 		if ( current_user_can( 'delete_users' ) ) {
 			$actions['delete'] = sprintf( '<a href="%1$s" class="delete">%2$s</a>', esc_url( $delete_link ), __( 'Delete', 'buddypress' ) );
@@ -373,7 +373,13 @@
 	 * @param object|null $signup_object The signup data object.
 	 */
 	public function column_date_sent( $signup_object = null ) {
-		echo mysql2date( 'Y/m/d', $signup_object->date_sent );
+		if ( ! $signup_object->sent_date || '0000-00-00 00:00:00' === $signup_object->sent_date ) {
+			$sent_date = __( 'Unsent', 'buddypress' );
+		} else {
+			$sent_date = mysql2date( 'Y/m/d', $signup_object->sent_date );
+		}
+
+		echo esc_html( $sent_date );
 	}
 
 	/**
Index: src/bp-members/classes/class-bp-members-ms-list-table.php
===================================================================
--- src/bp-members/classes/class-bp-members-ms-list-table.php	(revision 12479)
+++ src/bp-members/classes/class-bp-members-ms-list-table.php	(working copy)
@@ -306,7 +306,7 @@
 		$actions = array();
 
 		$actions['activate'] = sprintf( '<a href="%1$s">%2$s</a>', esc_url( $activate_link ), __( 'Activate', 'buddypress' ) );
-		$actions['resend']   = sprintf( '<a href="%1$s">%2$s</a>', esc_url( $email_link    ), __( 'Email',    'buddypress' ) );
+		$actions['resend']   = sprintf( '<a href="%1$s">%2$s</a>', esc_url( $email_link ), _x( 'Email', 'Resend signup activation key', 'buddypress' ) );
 
 		if ( current_user_can( 'delete_users' ) ) {
 			$actions['delete'] = sprintf( '<a href="%1$s" class="delete">%2$s</a>', esc_url( $delete_link ), __( 'Delete', 'buddypress' ) );
@@ -375,7 +375,13 @@
 			$date = 'Y/m/d \<\b\r \/\> g:i:s a';
 		}
 
-		echo mysql2date( $date, $signup_object->date_sent );
+		if ( ! $signup_object->sent_date || '0000-00-00 00:00:00' === $signup_object->sent_date ) {
+			$sent_date = __( 'Unsent', 'buddypress' );
+		} else {
+			$sent_date = mysql2date( $date, $signup_object->sent_date );
+		}
+
+		echo esc_html( $sent_date );
 	}
 
 	/**
Index: src/bp-members/classes/class-bp-signup.php
===================================================================
--- src/bp-members/classes/class-bp-signup.php	(revision 12479)
+++ src/bp-members/classes/class-bp-signup.php	(working copy)
@@ -237,13 +237,13 @@
 				}
 
 				// Sent date defaults to date of registration.
-				if ( ! empty( $signup->meta['sent_date'] ) ) {
-					$signup->date_sent = $signup->meta['sent_date'];
+				if ( isset( $signup->meta['sent_date'] ) && '0000-00-00 00:00:00' === $signup->meta['sent_date'] ) {
+					$signup->sent_date = __( 'Unsent', 'buddypress' );
 				} else {
-					$signup->date_sent = $signup->registered;
+					$signup->sent_date = $signup->meta['sent_date'];
 				}
 
-				$sent_at = mysql2date('U', $signup->date_sent );
+				$sent_at = mysql2date('U', $signup->sent_date );
 				$diff    = $now - $sent_at;
 
 				/**
@@ -256,6 +256,10 @@
 
 				if ( ! empty( $signup->meta['count_sent'] ) ) {
 					$signup->count_sent = absint( $signup->meta['count_sent'] );
+				} elseif ( isset( $signup->meta['sent_date'] ) && '0000-00-00 00:00:00' === $signup->meta['sent_date'] ) {
+					$signup->count_sent = 0;
+				} elseif ( ! isset( $signup->meta['sent_date'] ) ) {
+					$signup->count_sent = 0;
 				} else {
 					$signup->count_sent = 1;
 				}
