diff --git a/modules/statistics/statistics.install b/modules/statistics/statistics.install
index 553b3033ae184bfab6afa446812c45cfb63937a2..aa9b70ee93801818299032e64b8152cb106f5fab 100644
--- a/modules/statistics/statistics.install
+++ b/modules/statistics/statistics.install
@@ -34,7 +34,7 @@ function statistics_schema() {
       ),
       'sid' => array(
         'type' => 'varchar',
-        'length' => 64,
+        'length' => 128,
         'not null' => TRUE,
         'default' => '',
         'description' => 'Browser session ID of user that visited page.',
@@ -141,6 +141,19 @@ function statistics_schema() {
  * @{
  */
 
+/**
+ * Update the {accesslog}.sid column to match the length of {sessions}.sid
+ */
+function statistics_update_7000() {
+  db_change_field('accesslog', 'sid', 'sid', array(
+    'type' => 'varchar',
+    'length' => 128,
+    'not null' => TRUE,
+    'default' => '',
+    'description' => 'Browser session ID of user that visited page.',
+  ));
+}
+
 /**
  * @} End of "defgroup updates-6.x-to-7.x"
  * The next series of updates should start at 8000.
diff --git a/modules/statistics/statistics.test b/modules/statistics/statistics.test
index cbc58ae133719cd017dc0664ceb138b60dcaa8d0..98f35b45cd5fa66dfcb0c96f626a7ea913cad13e 100644
--- a/modules/statistics/statistics.test
+++ b/modules/statistics/statistics.test
@@ -61,6 +61,7 @@ class StatisticsLoggingTestCase extends DrupalWebTestCase {
 
     // Ensure we have a node page to access.
     $this->node = $this->drupalCreateNode();
+    $this->auth_user = $this->drupalCreateUser();
 
     // Enable page caching.
     variable_set('cache', TRUE);
@@ -101,6 +102,16 @@ class StatisticsLoggingTestCase extends DrupalWebTestCase {
     $this->assertEqual(array_intersect_key($log[1], $expected), $expected);
     $node_counter = statistics_get($this->node->nid);
     $this->assertIdentical($node_counter['totalcount'], '2');
+
+    // Test logging from authenticated users
+    $this->drupalLogin($this->auth_user);
+    $this->drupalGet($path);
+    $log = db_query('SELECT * FROM {accesslog}')->fetchAll(PDO::FETCH_ASSOC);
+    // Check the 6th item since login and account pages are also logged
+    $this->assertTrue(is_array($log) && count($log) == 6, t('Page request was logged.'));
+    $this->assertEqual(array_intersect_key($log[5], $expected), $expected);
+    $node_counter = statistics_get($this->node->nid);
+    $this->assertIdentical($node_counter['totalcount'], '3');
   }
 }