Index: wp-includes/ms-functions.php
===================================================================
--- wp-includes/ms-functions.php	(revision 36252)
+++ wp-includes/ms-functions.php	(working copy)
@@ -982,9 +982,18 @@
 	if ( empty($signup->domain) ) {
 		$wpdb->update( $wpdb->signups, array('active' => 1, 'activated' => $now), array('activation_key' => $key) );
 
-		if ( isset( $user_already_exists ) )
-			return new WP_Error( 'user_already_exists', __( 'That username is already activated.' ), $signup);
+		if ( isset( $user_already_exists ) ){
+			/**
+			 * allow the suppression of errors if user already exists.
+			 *
+			 * @since 4.5
+			 *
+			 * @param WP_Error
+			 */
+			return apply_filters('_wpmu_activate_existing_error_', new WP_Error( 'user_already_exists', __( 'That username is already activated.' ), $signup ), get_defined_vars() );
 
+		}
+
 		/**
 		 * Fires immediately after a new user is activated.
 		 *
