Maybe it would be easier to just check the user in profile.php:
around line 37:
if (($pun_user['g_read_board'] == '0' || ($pun_user['g_view_users'] == 0 && $pun_user['id'] != $id)) && ($action != 'change_pass' || !isset($_GET['key'])))
message($lang_common['No view']);
(from Userlist Access 1.0)
With this check enabled, only members have access to profile.php. Whether it's linked or not does not matter (to me).