diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php
index 58b2f0ca57..9389a2df28 100644
--- a/phpBB/includes/functions.php
+++ b/phpBB/includes/functions.php
@@ -3653,7 +3653,7 @@ function obtain_users_online_string($online_users, $item_id = 0, $item = 'forum'
$row['username'] = '' . $row['username'] . '';
}
- if (!isset($online_users['hidden_users'][$row['user_id']]) || $auth->acl_get('u_viewonline'))
+ if (!isset($online_users['hidden_users'][$row['user_id']]) || $auth->acl_get('u_viewonline') || $row['user_id'] === $user->data['user_id'])
{
$user_online_link[$row['user_id']] = get_username_string(($row['user_type'] <> USER_IGNORE) ? 'full' : 'no_profile', $row['user_id'], $row['username'], $row['user_colour']);
}
diff --git a/phpBB/viewonline.php b/phpBB/viewonline.php
index a44a4b218e..765599f165 100644
--- a/phpBB/viewonline.php
+++ b/phpBB/viewonline.php
@@ -196,7 +196,7 @@ while ($row = $db->sql_fetchrow($result))
if (!$row['session_viewonline'])
{
- $view_online = ($auth->acl_get('u_viewonline')) ? true : false;
+ $view_online = ($auth->acl_get('u_viewonline') || $row['user_id'] === $user->data['user_id']) ? true : false;
$logged_hidden_online++;
$username_full = '' . $username_full . '';