Index: src/wp-admin/network/user-new.php
===================================================================
--- src/wp-admin/network/user-new.php	(revision 25562)
+++ src/wp-admin/network/user-new.php	(working copy)
@@ -86,6 +86,9 @@
 	</div>
 <?php } ?>
 	<form action="<?php echo network_admin_url('user-new.php?action=add-user'); ?>" id="adduser" method="post">
+	<?php
+	//duplicate_hook
+	do_action( 'user_new_form_before', 'add-new-user' ); ?>
 	<table class="form-table">
 		<tr class="form-field form-required">
 			<th scope="row"><?php _e( 'Username' ) ?></th>
@@ -99,6 +102,10 @@
 			<td colspan="2"><?php _e( 'Username and password will be mailed to the above email address.' ) ?></td>
 		</tr>
 	</table>
+	<?php
+	//duplicate_hook
+	do_action( 'user_new_form_after', 'add-new-user' );
+	?>
 	<?php wp_nonce_field( 'add-user', '_wpnonce_add-user' ) ?>
 	<?php submit_button( __('Add User'), 'primary', 'add-user' ); ?>
 	</form>
Index: src/wp-admin/user-new.php
===================================================================
--- src/wp-admin/user-new.php	(revision 25562)
+++ src/wp-admin/user-new.php	(working copy)
@@ -290,7 +290,20 @@
 <form action="" method="post" name="adduser" id="adduser" class="validate"<?php do_action('user_new_form_tag');?>>
 <input name="action" type="hidden" value="adduser" />
 <?php wp_nonce_field( 'add-user', '_wpnonce_add-user' ) ?>
-
+<?php
+/**
+ * Fires before the new user form.
+ *
+ * Passes a contextual string to make both types of new user forms
+ * uniquely targetable. Contexts are 'add-existing-user' (Multisite),
+ * and 'add-new-user'.
+ *
+ * @since 3.7.0
+ *
+ * @param string A contextual string specifying which type of new user form the hook precedes.
+ */
+do_action( 'user_new_form_before', 'add-existing-user' );
+?>
 <table class="form-table">
 	<tr class="form-field form-required">
 		<th scope="row"><label for="adduser-email"><?php echo $label; ?></label></th>
@@ -310,6 +323,20 @@
 	</tr>
 <?php } ?>
 </table>
+<?php
+/**
+ * Fires after the new user form.
+ *
+ * Passes a contextual string to make both types of new user forms
+ * uniquely targetable. Contexts are 'add-existing-user' (Multisite),
+ * and 'add-new-user'.
+ *
+ * @since 3.7.0
+ *
+ * @param string A contextual string specifying which type of new user form the hook follows.
+ */
+do_action( 'user_new_form_after', 'add-existing-user' );
+?>
 <?php submit_button( __( 'Add Existing User '), 'primary', 'adduser', true, array( 'id' => 'addusersub' ) ); ?>
 </form>
 <?php
@@ -325,8 +352,11 @@
 ?>
 <form action="" method="post" name="createuser" id="createuser" class="validate"<?php do_action('user_new_form_tag');?>>
 <input name="action" type="hidden" value="createuser" />
-<?php wp_nonce_field( 'create-user', '_wpnonce_create-user' ) ?>
+<?php wp_nonce_field( 'create-user', '_wpnonce_create-user' ); ?>
 <?php
+//duplicate_hook
+do_action( 'user_new_form_before', 'add-new-user' );
+
 // Load up the passed data, else set to a default.
 foreach ( array( 'user_login' => 'login', 'first_name' => 'firstname', 'last_name' => 'lastname',
 				'email' => 'email', 'url' => 'uri', 'role' => 'role', 'send_password' => 'send_password', 'noconfirmation' => 'ignore_pass' ) as $post_field => $var ) {
@@ -412,6 +442,11 @@
 	<?php } ?>
 </table>
 
+<?php
+//duplicate_hook
+do_action( 'user_new_form_after', 'add-new-user' );
+?>
+
 <?php submit_button( __( 'Add New User '), 'primary', 'createuser', true, array( 'id' => 'createusersub' ) ); ?>
 
 </form>
