Index: wp-comments-post.php
===================================================================
--- wp-comments-post.php	(revision 20373)
+++ wp-comments-post.php	(working copy)
@@ -54,7 +54,7 @@
 
 // If the user is logged in
 $user = wp_get_current_user();
-if ( $user->ID ) {
+if ( $user->exists() ) {
 	if ( empty( $user->display_name ) )
 		$user->display_name=$user->user_login;
 	$comment_author       = $wpdb->escape($user->display_name);
@@ -73,7 +73,7 @@
 
 $comment_type = '';
 
-if ( get_option('require_name_email') && !$user->ID ) {
+if ( get_option('require_name_email') && !$user->exists() ) {
 	if ( 6 > strlen($comment_author_email) || '' == $comment_author )
 		wp_die( __('<strong>ERROR</strong>: please fill the required fields (name, email).') );
 	elseif ( !is_email($comment_author_email))
Index: wp-includes/comment.php
===================================================================
--- wp-includes/comment.php	(revision 20373)
+++ wp-includes/comment.php	(working copy)
@@ -579,7 +579,7 @@
  * @since 3.4.0
  */
 function wp_set_comment_cookies($comment, $user) {
-	if ( $user->ID )
+	if ( $user->exists() )
 		return;
 
 	$comment_cookie_lifetime = apply_filters('comment_cookie_lifetime', 30000000);
Index: wp-includes/comment-template.php
===================================================================
--- wp-includes/comment-template.php	(revision 20373)
+++ wp-includes/comment-template.php	(working copy)
@@ -1517,7 +1517,7 @@
 
 	$commenter = wp_get_current_commenter();
 	$user = wp_get_current_user();
-	$user_identity = ! empty( $user->ID ) ? $user->display_name : '';
+	$user_identity = $user->exists() ? $user->display_name : '';
 
 	$req = get_option( 'require_name_email' );
 	$aria_req = ( $req ? " aria-required='true'" : '' );
Index: wp-includes/user.php
===================================================================
--- wp-includes/user.php	(revision 20373)
+++ wp-includes/user.php	(working copy)
@@ -259,7 +259,7 @@
 	else
 		$user = new WP_User( $user );
 
-	if ( ! isset( $user->ID ) )
+	if ( ! $user->exists() )
 		return false;
 
 	if ( $user->has_prop( $wpdb->prefix . $option ) ) // Blog specific
@@ -940,7 +940,7 @@
 	$user_ID    = (int) $user->ID;
 	$user_level = (int) isset($user->user_level) ? $user->user_level : 0;
 
-	if ( 0 == $user->ID ) {
+	if ( ! $user->exists() ) {
 		$user_login = $user_email = $user_url = $user_pass_md5 = $user_identity = '';
 		return;
 	}
Index: wp-includes/ms-deprecated.php
===================================================================
--- wp-includes/ms-deprecated.php	(revision 20373)
+++ wp-includes/ms-deprecated.php	(working copy)
@@ -49,7 +49,7 @@
 			return false;
 	} else {
 		$user = get_user_by( 'login', $user_login );
-		if ( empty( $user->ID ) )
+		if ( ! $user->exists() )
 			return false;
 		$user_id = $user->ID;
 	}
Index: wp-includes/capabilities.php
===================================================================
--- wp-includes/capabilities.php	(revision 20373)
+++ wp-includes/capabilities.php	(working copy)
@@ -599,6 +599,18 @@
 	}
 
 	/**
+	 * Determine whether the user exists in the database.
+	 *
+	 * @since 3.4.0
+	 * @access public
+	 *
+	 * @return bool True if user exists in the database, false if not.
+	 */
+	function exists() {
+		return ! empty( $this->ID );
+	}
+
+	/**
 	 * Retrieve the value of a property or meta key.
 	 *
 	 * Retrieves from the users and usermeta table.
@@ -1259,7 +1271,7 @@
 	if ( ! is_object( $user ) )
 		$user = new WP_User( $user );
 
-	if ( ! $user || ! $user->ID )
+	if ( ! $user || ! $user->exists() )
 		return false;
 
 	$args = array_slice( func_get_args(), 2 );
@@ -1356,7 +1368,7 @@
 	else
 		$user = wp_get_current_user();
 
-	if ( empty( $user->ID ) )
+	if ( ! $user->exists() )
 		return false;
 
 	if ( is_multisite() ) {
Index: wp-includes/pluggable.php
===================================================================
--- wp-includes/pluggable.php	(revision 20373)
+++ wp-includes/pluggable.php	(working copy)
@@ -709,7 +709,7 @@
 function is_user_logged_in() {
 	$user = wp_get_current_user();
 
-	if ( empty( $user->ID ) )
+	if ( ! $user->exists() )
 		return false;
 
 	return true;
Index: wp-includes/ms-functions.php
===================================================================
--- wp-includes/ms-functions.php	(revision 20373)
+++ wp-includes/ms-functions.php	(working copy)
@@ -185,7 +185,7 @@
 
 	$user = new WP_User($user_id);
 
-	if ( empty( $user->ID ) ) {
+	if ( ! $user->exists() ) {
 		restore_current_blog();
 		return new WP_Error('user_does_not_exist', __('That user does not exist.'));
 	}
@@ -247,7 +247,7 @@
 
 	// wp_revoke_user($user_id);
 	$user = new WP_User($user_id);
-	if ( empty( $user->ID ) ) {
+	if ( ! $user->exists() ) {
 		restore_current_blog();
 		return new WP_Error('user_does_not_exist', __('That user does not exist.'));
 	}
Index: wp-admin/includes/ajax-actions.php
===================================================================
--- wp-admin/includes/ajax-actions.php	(revision 20373)
+++ wp-admin/includes/ajax-actions.php	(working copy)
@@ -742,7 +742,7 @@
 		wp_die( __('ERROR: you are replying to a comment on a draft post.') );
 
 	$user = wp_get_current_user();
-	if ( $user->ID ) {
+	if ( $user->exists() ) {
 		$user_ID = $user->ID;
 		$comment_author       = $wpdb->escape($user->display_name);
 		$comment_author_email = $wpdb->escape($user->user_email);
