Index: branches/5.1.x/core/units/users/users_item.php =================================================================== diff -u -N -r13086 -r14148 --- branches/5.1.x/core/units/users/users_item.php (.../users_item.php) (revision 13086) +++ branches/5.1.x/core/units/users/users_item.php (.../users_item.php) (revision 14148) @@ -1,6 +1,6 @@ Application->RecallVar('UserGroups'); if($user_groups === false || $force_reload) { - $sql = 'SELECT GroupId FROM %s WHERE (PortalUserId = %s) AND ( (MembershipExpires IS NULL) OR ( MembershipExpires >= UNIX_TIMESTAMP() ) )'; - $sql = sprintf($sql, TABLE_PREFIX.'UserGroup', $this->GetID() ); + // primary group goes first + $sql = 'SELECT GroupId + FROM ' . TABLE_PREFIX . 'UserGroup + WHERE (PortalUserId = ' . $this->GetID() . ') AND ( (MembershipExpires IS NULL) OR ( MembershipExpires >= UNIX_TIMESTAMP() ) ) + ORDER BY PrimaryGroup DESC'; + return $this->Conn->GetCol($sql); } else