diff --git a/core/includes/bootstrap.inc b/core/includes/bootstrap.inc
index 07091c0..a9d1ad7 100644
--- a/core/includes/bootstrap.inc
+++ b/core/includes/bootstrap.inc
@@ -1747,7 +1747,7 @@ function watchdog($type, $message, array $variables = NULL, $severity = WATCHDOG
       'user'        => $user,
       'uid'         => $user_uid,
       'request_uri' => $base_root . request_uri(),
-      'referer'     => isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '',
+      'referrer'    => isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '',
       'ip'          => ip_address(),
       // Request time isn't accurate for long processes, use time() instead.
       'timestamp'   => time(),
diff --git a/core/modules/action/tests/action_loop_test/action_loop_test.module b/core/modules/action/tests/action_loop_test/action_loop_test.module
index 8c3b98d..b3261f0 100644
--- a/core/modules/action/tests/action_loop_test/action_loop_test.module
+++ b/core/modules/action/tests/action_loop_test/action_loop_test.module
@@ -68,7 +68,7 @@ function watchdog_skip_semaphore($type, $message, $variables = array(), $severit
     'user'        => $user,
     'uid'         => isset($user->uid) ? $user->uid : 0,
     'request_uri' => $base_root . request_uri(),
-    'referer'     => $_SERVER['HTTP_REFERER'],
+    'referrer'    => $_SERVER['HTTP_REFERER'],
     'ip'          => ip_address(),
     'timestamp'   => REQUEST_TIME,
   );
diff --git a/core/modules/dblog/dblog.admin.inc b/core/modules/dblog/dblog.admin.inc
index d6b921a..93efa42 100644
--- a/core/modules/dblog/dblog.admin.inc
+++ b/core/modules/dblog/dblog.admin.inc
@@ -174,7 +174,7 @@ function dblog_event($id) {
       ),
       array(
         array('data' => t('Referrer'), 'header' => TRUE),
-        l($dblog->referer, $dblog->referer),
+        l($dblog->referrer, $dblog->referrer),
       ),
       array(
         array('data' => t('Message'), 'header' => TRUE),
diff --git a/core/modules/dblog/dblog.install b/core/modules/dblog/dblog.install
index a2e0144..95713f3 100644
--- a/core/modules/dblog/dblog.install
+++ b/core/modules/dblog/dblog.install
@@ -63,7 +63,7 @@ function dblog_schema() {
         'not null' => TRUE,
         'description' => 'URL of the origin of the event.',
       ),
-      'referer' => array(
+      'referrer' => array(
         'type' => 'text',
         'not null' => FALSE,
         'description' => 'URL of referring page.',
@@ -94,6 +94,27 @@ function dblog_schema() {
 }
 
 /**
+ * Implements hook_requirements().
+ */
+function dblog_requirements($phase) {
+  if ($phase == 'update' && drupal_get_installed_schema_version('dblog') < 8000) {
+    // Check that we have referrer field in dblog schema.
+    // We can't do that in hook_update_N(), since modules can use watchdog during upgrade process.
+    // Perform db_add_field() instead of db_change_field() to leave database in the state
+    // usable by D7, in case upgrade was cancelled.
+    if (!db_field_exists('watchdog', 'referrer')) {
+      db_add_field('watchdog', 'referrer', array(
+        'type' => 'text',
+         'not null' => FALSE,
+         'description' => 'URL of referring page.',
+        )
+      );
+    }
+  }
+  return array();
+}
+
+/**
  * @addtogroup updates-7.x-to-8.x
  * @{
  */
@@ -127,6 +148,25 @@ function dblog_update_8001() {
 }
 
 /**
+ * Remove unneeded referer field.
+ * @see http://drupal.org/node/343626
+ */
+function dblog_update_8002() {
+  if (db_field_exists('watchdog', 'referer')) {
+    if (db_field_exists('watchdog', 'referrer')) {
+      db_drop_field('watchdog', 'referer');
+    }
+    else {
+      db_change_field('watchdog', 'referer', 'referrer', array(
+        'type' => 'text',
+        'not null' => FALSE,
+        'description' => 'URL of referring page.',
+      ));
+    }
+  }
+}
+
+/**
  * @} End of "addtogroup updates-7.x-to-8.x".
  * The next series of updates should start at 9000.
  */
diff --git a/core/modules/dblog/dblog.module b/core/modules/dblog/dblog.module
index a0afcd4..a74bd3c 100644
--- a/core/modules/dblog/dblog.module
+++ b/core/modules/dblog/dblog.module
@@ -154,7 +154,7 @@ function dblog_watchdog(array $log_entry) {
       'severity' => $log_entry['severity'],
       'link' => substr($log_entry['link'], 0, 255),
       'location' => $log_entry['request_uri'],
-      'referer' => $log_entry['referer'],
+      'referrer' => $log_entry['referrer'],
       'hostname' => substr($log_entry['ip'], 0, 128),
       'timestamp' => $log_entry['timestamp'],
     ))
diff --git a/core/modules/dblog/lib/Drupal/dblog/Tests/DBLogTest.php b/core/modules/dblog/lib/Drupal/dblog/Tests/DBLogTest.php
index ddfcac4..f95f02b 100644
--- a/core/modules/dblog/lib/Drupal/dblog/Tests/DBLogTest.php
+++ b/core/modules/dblog/lib/Drupal/dblog/Tests/DBLogTest.php
@@ -136,7 +136,7 @@ private function generateLogEntries($count, $type = 'custom', $severity = WATCHD
       'user'        => $this->big_user,
       'uid'         => isset($this->big_user->uid) ? $this->big_user->uid : 0,
       'request_uri' => $base_root . request_uri(),
-      'referer'     => $_SERVER['HTTP_REFERER'],
+      'referrer'    => $_SERVER['HTTP_REFERER'],
       'ip'          => ip_address(),
       'timestamp'   => REQUEST_TIME,
       );
@@ -434,7 +434,7 @@ protected function testDBLogAddAndClear() {
       'user'        => $this->big_user,
       'uid'         => isset($this->big_user->uid) ? $this->big_user->uid : 0,
       'request_uri' => $base_root . request_uri(),
-      'referer'     => $_SERVER['HTTP_REFERER'],
+      'referrer'    => $_SERVER['HTTP_REFERER'],
       'ip'          => ip_address(),
       'timestamp'   => REQUEST_TIME,
     );
diff --git a/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsTestBase.php b/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsTestBase.php
index 2ed8b6f..d9ce60c 100644
--- a/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsTestBase.php
+++ b/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsTestBase.php
@@ -51,7 +51,7 @@ function setUp() {
       ->fields(array(
         'title' => 'test',
         'path' => 'node/1',
-        'url' => 'http://example.com',
+        'referrer' => 'http://example.com',
         'hostname' => '192.168.1.1',
         'uid' => 0,
         'sid' => 10,
diff --git a/core/modules/statistics/statistics.admin.inc b/core/modules/statistics/statistics.admin.inc
index 5e0e256..1655244 100644
--- a/core/modules/statistics/statistics.admin.inc
+++ b/core/modules/statistics/statistics.admin.inc
@@ -230,34 +230,34 @@ function statistics_top_referrers() {
 
   $header = array(
     array('data' => t('Hits'), 'field' => 'hits', 'sort' => 'desc'),
-    array('data' => t('Url'), 'field' => 'url'),
+    array('data' => t('Referrer'), 'field' => 'referrer'),
     array('data' => t('Last visit'), 'field' => 'last'),
   );
   $query = db_select('accesslog', 'a')
     ->extend('Drupal\Core\Database\Query\PagerSelectExtender')
     ->extend('Drupal\Core\Database\Query\TableSortExtender');
 
-  $query->addExpression('COUNT(url)', 'hits');
+  $query->addExpression('COUNT(referrer)', 'hits');
   $query->addExpression('MAX(timestamp)', 'last');
   $query
-    ->fields('a', array('url'))
-    ->condition('url', '%' . $_SERVER['HTTP_HOST'] . '%', 'NOT LIKE')
-    ->condition('url', '', '<>')
-    ->groupBy('url')
+    ->fields('a', array('referrer'))
+    ->condition('referrer', '%' . $_SERVER['HTTP_HOST'] . '%', 'NOT LIKE')
+    ->condition('referrer', '', '<>')
+    ->groupBy('referrer')
     ->limit(30)
     ->orderByHeader($header);
 
   $count_query = db_select('accesslog', 'a', array('target' => 'slave'));
-  $count_query->addExpression('COUNT(DISTINCT url)');
+  $count_query->addExpression('COUNT(DISTINCT referrer)');
   $count_query
-    ->condition('url', '%' . $_SERVER['HTTP_HOST'] . '%', 'NOT LIKE')
-    ->condition('url', '', '<>');
+    ->condition('referrer', '%' . $_SERVER['HTTP_HOST'] . '%', 'NOT LIKE')
+    ->condition('referrer', '', '<>');
   $query->setCountQuery($count_query);
 
   $result = $query->execute();
   $rows = array();
   foreach ($result as $referrer) {
-    $rows[] = array($referrer->hits, _statistics_link($referrer->url), t('@time ago', array('@time' => format_interval(REQUEST_TIME - $referrer->last))));
+    $rows[] = array($referrer->hits, _statistics_link($referrer->referrer), t('@time ago', array('@time' => format_interval(REQUEST_TIME - $referrer->last))));
   }
 
   $build['statistics_top_referrers_table'] = array(
@@ -295,7 +295,7 @@ function statistics_access_log($aid) {
     );
     $rows[] = array(
       array('data' => t('Referrer'), 'header' => TRUE),
-      ($access->url ? l($access->url, $access->url) : '')
+      ($access->referrer ? l($access->referrer, $access->referrer) : '')
     );
     $rows[] = array(
       array('data' => t('Date'), 'header' => TRUE),
diff --git a/core/modules/statistics/statistics.install b/core/modules/statistics/statistics.install
index 5f2b7dd..bd6d510 100644
--- a/core/modules/statistics/statistics.install
+++ b/core/modules/statistics/statistics.install
@@ -45,7 +45,7 @@ function statistics_schema() {
         'not null' => FALSE,
         'description' => 'Internal path to page visited (relative to Drupal root.)',
       ),
-      'url' => array(
+      'referrer' => array(
         'type' => 'text',
         'not null' => FALSE,
         'description' => 'Referrer URI.',
@@ -173,3 +173,17 @@ function statistics_update_8002() {
     'statistics_day_timestamp' => 'statistics.day_timestamp',
   ));
 }
+
+/**
+ * Rename url to referrer
+ * @see http://drupal.org/node/343626
+ */
+function statistics_update_8003() {
+  db_change_field('accesslog', 'url', 'referrer',
+    array(
+      'type' => 'text',
+      'not null' => FALSE,
+      'description' => 'Referrer URI.',
+    )
+  );
+}
diff --git a/core/modules/statistics/statistics.module b/core/modules/statistics/statistics.module
index a359981..693dd5a 100644
--- a/core/modules/statistics/statistics.module
+++ b/core/modules/statistics/statistics.module
@@ -70,7 +70,7 @@ function statistics_exit() {
         // @todo The public function current_path() is not available on a cache
         //   hit.
         'path' => truncate_utf8(_current_path(), 255),
-        'url' => isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '',
+        'referrer' => isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '',
         'hostname' => ip_address(),
         'uid' => $user->uid,
         'sid' => session_id(),
diff --git a/core/modules/statistics/statistics.pages.inc b/core/modules/statistics/statistics.pages.inc
index 6cf110c..b034127 100644
--- a/core/modules/statistics/statistics.pages.inc
+++ b/core/modules/statistics/statistics.pages.inc
@@ -20,7 +20,7 @@ function statistics_node_tracker() {
   if ($node = node_load(arg(1))) {
     $header = array(
       array('data' => t('Time'), 'field' => 'a.timestamp', 'sort' => 'desc'),
-      array('data' => t('Referrer'), 'field' => 'a.url'),
+      array('data' => t('Referrer'), 'field' => 'a.referrer'),
       array('data' => t('User'), 'field' => 'u.name'),
       t('Operations'),
     );
@@ -31,7 +31,7 @@ function statistics_node_tracker() {
     $query->join('users', 'u', 'a.uid = u.uid');
 
     $query
-      ->fields('a', array('aid', 'timestamp', 'url', 'uid'))
+      ->fields('a', array('aid', 'timestamp', 'referrer', 'uid'))
       ->fields('u', array('name'))
       ->condition(db_or()
         ->condition('a.path', 'node/' . $node->nid)
@@ -44,7 +44,7 @@ function statistics_node_tracker() {
     foreach ($result as $log) {
       $row = array();
       $row[] = array('data' => format_date($log->timestamp, 'short'), 'class' => array('nowrap'));
-      $row[] = _statistics_link($log->url);
+      $row[] = _statistics_link($log->referrer);
       $row[] = theme('username', array('account' => $log));
       $links = array();
       $links['details'] = array(
diff --git a/core/modules/syslog/config/syslog.settings.yml b/core/modules/syslog/config/syslog.settings.yml
index 1aa5b90..34bace3 100644
--- a/core/modules/syslog/config/syslog.settings.yml
+++ b/core/modules/syslog/config/syslog.settings.yml
@@ -1,3 +1,3 @@
 identity: drupal
 facility: ''
-format: '!base_url|!timestamp|!type|!ip|!request_uri|!referer|!uid|!link|!message'
+format: '!base_url|!timestamp|!type|!ip|!request_uri|!referrer|!uid|!link|!message'
diff --git a/core/modules/syslog/syslog.module b/core/modules/syslog/syslog.module
index 8af77c1..ff38ce8 100644
--- a/core/modules/syslog/syslog.module
+++ b/core/modules/syslog/syslog.module
@@ -66,7 +66,7 @@ function syslog_form_system_logging_settings_alter(&$form, &$form_state) {
     '#type'          => 'textarea',
     '#title'         => t('Syslog format'),
     '#default_value' => $config->get('format'),
-    '#description'   => t('Specify the format of the syslog entry. Available variables are: <dl><dt><code>!base_url</code></dt><dd>Base URL of the site.</dd><dt><code>!timestamp</code></dt><dd>Unix timestamp of the log entry.</dd><dt><code>!type</code></dt><dd>The category to which this message belongs.</dd><dt><code>!ip</code></dt><dd>IP address of the user triggering the message.</dd><dt><code>!request_uri</code></dt><dd>The requested URI.</dd><dt><code>!referer</code></dt><dd>HTTP Referer if available.</dd><dt><code>!uid</code></dt><dd>User ID.</dd><dt><code>!link</code></dt><dd>A link to associate with the message.</dd><dt><code>!message</code></dt><dd>The message to store in the log.</dd></dl>'),
+    '#description'   => t('Specify the format of the syslog entry. Available variables are: <dl><dt><code>!base_url</code></dt><dd>Base URL of the site.</dd><dt><code>!timestamp</code></dt><dd>Unix timestamp of the log entry.</dd><dt><code>!type</code></dt><dd>The category to which this message belongs.</dd><dt><code>!ip</code></dt><dd>IP address of the user triggering the message.</dd><dt><code>!request_uri</code></dt><dd>The requested URI.</dd><dt><code>!referrer</code></dt><dd>HTTP Referrer if available.</dd><dt><code>!uid</code></dt><dd>User ID.</dd><dt><code>!link</code></dt><dd>A link to associate with the message.</dd><dt><code>!message</code></dt><dd>The message to store in the log.</dd></dl>'),
   );
 
   $form['#submit'][] = 'syslog_logging_settings_submit';
@@ -128,7 +128,7 @@ function syslog_watchdog(array $log_entry) {
     '!type'        => $log_entry['type'],
     '!ip'          => $log_entry['ip'],
     '!request_uri' => $log_entry['request_uri'],
-    '!referer'     => $log_entry['referer'],
+    '!referrer'    => $log_entry['referrer'],
     '!uid'         => $log_entry['uid'],
     '!link'        => strip_tags($log_entry['link']),
     '!message'     => strip_tags(!isset($log_entry['variables']) ? $log_entry['message'] : strtr($log_entry['message'], $log_entry['variables'])),
diff --git a/core/modules/system/system.api.php b/core/modules/system/system.api.php
index 07a5638..df44a1d 100644
--- a/core/modules/system/system.api.php
+++ b/core/modules/system/system.api.php
@@ -1974,7 +1974,7 @@ function hook_custom_theme() {
  *     happened.
  *   - uid: The user ID for the user who was logged in when the event happened.
  *   - request_uri: The request URI for the page the event happened in.
- *   - referer: The page that referred the user to the page where the event
+ *   - referrer: The page that referred the user to the page where the event
  *     occurred.
  *   - ip: The IP address where the request for the page came from.
  *   - timestamp: The UNIX timestamp of the date/time the event occurred.
@@ -2026,7 +2026,7 @@ function hook_watchdog(array $log_entry) {
   $params['message'] .= "\nType:         @type";
   $params['message'] .= "\nIP Address:   @ip";
   $params['message'] .= "\nRequest URI:  @request_uri";
-  $params['message'] .= "\nReferrer URI: @referer_uri";
+  $params['message'] .= "\nReferrer URI: @referrer_uri";
   $params['message'] .= "\nUser:         (@uid) @name";
   $params['message'] .= "\nLink:         @link";
   $params['message'] .= "\nMessage:      \n\n@message";
@@ -2039,7 +2039,7 @@ function hook_watchdog(array $log_entry) {
     '@type'          => $log_entry['type'],
     '@ip'            => $log_entry['ip'],
     '@request_uri'   => $log_entry['request_uri'],
-    '@referer_uri'   => $log_entry['referer'],
+    '@referrer_uri'   => $log_entry['referrer'],
     '@uid'           => $log_entry['uid'],
     '@name'          => $log_entry['user']->name,
     '@link'          => strip_tags($log_entry['link']),
