Index: /branches/Ver2.0/xpressme_integration_kit/wp-content/plugins/xpressme/include/pluggable-override.php
===================================================================
--- /branches/Ver2.0/xpressme_integration_kit/wp-content/plugins/xpressme/include/pluggable-override.php	(revision 292)
+++ /branches/Ver2.0/xpressme_integration_kit/wp-content/plugins/xpressme/include/pluggable-override.php	(revision 293)
@@ -20,35 +20,34 @@
 	global $xoopsModule,$xoopsUser,$xoopsUserIsAdmin;
 
-
 	if ($xoopsModule){
-		if (!is_object($xoopsUser)){
-			wp_set_current_user(0);
-			if ( !preg_match("/MSIE/", $_SERVER['HTTP_USER_AGENT']) &&
-	  				 !preg_match("/msie/", $_SERVER['HTTP_USER_AGENT'])		) {
-					wp_logout();		 // When IE is used, it becomes page error by the guest if the wp_logout() is executed here. 
-			}	  				
-			return false;
-		}
 		if ( defined('XMLRPC_REQUEST') && XMLRPC_REQUEST )
 			return false;
 
-		if ( ! empty($current_user) ){
-			$xoops_user = $xoopsUser->getVar("uname");
-			if ($current_user->user_login == $xoops_user)
-				return;
-		}
-
-		if (check_xpress_auth_cookie()){	//The cookie is login user's or it checks it
-			if ( $user = wp_validate_auth_cookie() ) {
-				if (!check_user_meta_prefix($user)){
-					repair_user_meta_prefix();
+		if (is_object($xoopsUser)){			// When the user is logging in xoops
+			if ( ! empty($current_user) ){
+				$xoops_user = $xoopsUser->getVar("uname");
+				if ($current_user->user_login == $xoops_user){	// If xoops login user and wordpress current user are the same
+					return;
 				}
-
-				wp_set_current_user($user);
-				return ;
 			}
-		}				
-		xpress_login();	
-
+			if (check_xpress_auth_cookie()){	//The cookie is login user's or it checks it
+				if ( $user = wp_validate_auth_cookie() ) {
+					// When the user meta prefix is different according to the change in the xoops data base prefix, it restores it. 
+					if (!check_user_meta_prefix($user)){	
+						repair_user_meta_prefix();
+					}
+					wp_set_current_user($user);
+					return ;
+				}
+			}				
+			return xpress_login();	
+		} else {							// For the xoops guest
+			if ( ! empty($current_user) ){	// When a current user of wordpress is set, a current user is cleared. 
+				wp_set_current_user(0);
+				wp_logout();
+				wp_clear_auth_cookie();
+			}
+			return false;
+		}
 	} else {
 		// WP2.7 original
