diff --git a/src/sbbs3/sbbscon.c b/src/sbbs3/sbbscon.c
index 761d303044c8b73f24d0f4e9c296cbaee4cf5485..89c0411c084af2f676c1e902b07a9c86e787ddba 100644
--- a/src/sbbs3/sbbscon.c
+++ b/src/sbbs3/sbbscon.c
@@ -276,15 +276,15 @@ static BOOL do_seteuid(BOOL to_new)
 	pthread_mutex_lock(&setid_mutex);
 
 	if(to_new) {
-		if(((new_gid==getegid() && new_gid==getgid()) || setregid(-1,new_gid)==0)
-				&& ((new_uid==geteuid() && new_uid==getuid()) || setreuid(-1,new_uid)==0))
+		if((new_gid==getegid() || setregid(-1,new_gid)==0)
+				&& (new_uid==geteuid() || setreuid(-1,new_uid)==0))
 			result=TRUE;
 		else
 			result=FALSE;
 	}
 	else {
-		if(((old_gid==getegid() && old_gid==getgid()) || setregid(-1,old_gid)==0)
-				&& ((old_uid==geteuid() && old_uid==getuid()) || setreuid(-1,old_uid)==0))
+		if((old_gid==getegid() || setregid(-1,old_gid)==0)
+				&& (old_uid==geteuid() || setreuid(-1,old_uid)==0))
 			result=TRUE;
 		else
 			result=FALSE;