diff --git a/path_redirect.admin.inc b/path_redirect.admin.inc
index f90b227..0990b8d 100644
--- a/path_redirect.admin.inc
+++ b/path_redirect.admin.inc
@@ -20,6 +20,7 @@ function path_redirect_list_redirects($query = array(), $conditions = array(), $
   $header = array(
     'source' => array('data' => t('From'), 'field' => 'source', 'sort' => 'asc'),
     'redirect' => array('data' => t('To'), 'field' => 'redirect'),
+    'count' => array('data' => t('Hits'), 'field' => 'count'),
     'type' => array('data' => t('Type'), 'field' => 'type'),
     'language' => array('data' => t('Language'), 'field' => 'language'),
     'created' => array('data' => t('Created'), 'field' => 'created'),
@@ -72,6 +73,9 @@ function path_redirect_list_redirects($query = array(), $conditions = array(), $
       $redirect_url = path_redirect_build_url($redirect['redirect'], $redirect['query'], $redirect['fragment'], TRUE);
       $row['redirect'] = l($redirect_url, $redirect['redirect'], array('query' => $redirect['query'], 'fragment' => $redirect['fragment']));
     }
+    if (isset($header['count'])) {
+      $row['count'] = $redirect['count'];
+    }
     if (isset($header['type'])) {
       $row['type'] = $redirect['type'];
     }
diff --git a/path_redirect.install b/path_redirect.install
index 9d3155a..d2d0d4e 100644
--- a/path_redirect.install
+++ b/path_redirect.install
@@ -48,6 +48,14 @@ function path_redirect_schema() {
         'not null' => TRUE,
         'default' => '',
       ),
+      'count' => array(
+        'type' => 'int',
+        'size' => 'medium',
+        'unsigned' => TRUE,
+        'not null' => TRUE,
+        'default' => 0,
+        'description' => 'The number of times the redirect has been used.',
+      ),
       'type' => array(
         'type' => 'int',
         'size' => 'small',
@@ -227,6 +235,16 @@ function path_redirect_update_6104() {
 }
 
 /**
+ * Add a hit count field.
+ */
+function path_redirect_update_6105() {
+  $ret = array();
+  db_add_field($ret, 'path_redirect', 'count', array('type' => 'int', 'size' => 'medium', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0));
+  $ret[] = update_sql("UPDATE {path_redirect} SET created = last_used");
+  return $ret;
+}
+
+/**
  * @} End of "defgroup updates-6.x-extra"
  * The next series of updates should start at 7000.
  */
diff --git a/path_redirect.module b/path_redirect.module
index ca63e52..9ce4b13 100644
--- a/path_redirect.module
+++ b/path_redirect.module
@@ -117,8 +117,8 @@ function path_redirect_goto($redirect = NULL) {
     // Create the absolute redirection URL.
     $redirect['redirect_url'] = url($redirect['redirect'], array('query' => $redirect['query'], 'fragment' => $redirect['fragment'], 'absolute' => TRUE));
 
-    // Update the last used timestamp so that unused redirects can be purged.
-    db_query("UPDATE {path_redirect} SET last_used = %d WHERE rid = %d", time(), $redirect['rid']);
+    // Increment the hit counter and update the last used timestamp.
+    db_query("UPDATE {path_redirect} SET count = count + 1, last_used = %d WHERE rid = %d", time(), $redirect['rid']);
 
     if (url($redirect['redirect']) == url($_GET['q'])) {
       // Prevent infinite loop redirection.
@@ -322,6 +322,7 @@ function path_redirect_save(&$redirect) {
     'query' => '',
     'fragment' => '',
     'language' => '',
+    'count' => 0,
     'type' => variable_get('path_redirect_default_status', 301),
     'created' => time(),
     'last_used' => time(),
diff --git a/path_redirect.test b/path_redirect.test
index b0803d0..29af0ce 100644
--- a/path_redirect.test
+++ b/path_redirect.test
@@ -240,6 +240,9 @@ class PathRedirectFunctionalTest extends PathRedirectTestHelper {
     $this->drupalGet('test1');
     $this->assertTrue(db_result(db_query("SELECT last_used FROM {path_redirect} WHERE source = 'test1'")) >= $time, t('Last used timestamp was updated.'));
 
+    // Test that the count was incremented.
+    $this->assetTrue(db_result(db_query("SELECT count FROM {path_redirect} WHERE source = 'test1'")) == 1, t('Last used timestamp was updated.'));
+
     // Run cron and test that the inactive redirect was removed.
     $this->cronRun();
     $this->assertTrue(path_redirect_load($r1['rid']), t('Active redirect not removed.'));
