diff --git a/xmlsitemap_user/xmlsitemap_user.module b/xmlsitemap_user/xmlsitemap_user.module
index 110ea75..25fec9b 100644
--- a/xmlsitemap_user/xmlsitemap_user.module
+++ b/xmlsitemap_user/xmlsitemap_user.module
@@ -146,9 +146,12 @@ function xmlsitemap_user_create_link(stdClass &$account) {
     'priority_override' => 0,
   );
 
+  // Need to check "view user profiles" for anonymous access permission.
+  $anonymous = user_load(0);
+
   // The following values must always be checked because they are volatile.
   $account->xmlsitemap['loc'] = $uri['path'];
-  $account->xmlsitemap['access'] = $account->uid && $account->status;
+  $account->xmlsitemap['access'] = $account->uid && $account->status && user_access('view user profiles', $anonymous);
   $account->xmlsitemap['language'] = !empty($account->language) ? $account->language : LANGUAGE_NONE;
 
   return $account->xmlsitemap;
diff --git a/xmlsitemap_user/xmlsitemap_user.test b/xmlsitemap_user/xmlsitemap_user.test
index 346038c..1058608 100644
--- a/xmlsitemap_user/xmlsitemap_user.test
+++ b/xmlsitemap_user/xmlsitemap_user.test
@@ -26,7 +26,7 @@ class XMLSitemapUserFunctionalTest extends XMLSitemapTestHelper {
 
     // Create the users
     $this->admin_user = $this->drupalCreateUser(array('administer users', 'administer permissions', 'administer xmlsitemap'));
-    $this->normal_user = $this->drupalCreateUser(array('access content'));
+    $this->normal_user = $this->drupalCreateUser(array('access content', 'view user profiles'));
 
     // Update the normal user to make its sitemap link visible.
     $account = clone $this->normal_user;
