diff --git a/paging.module b/paging.module
index 6bd51c7..54576c2 100644
--- a/paging.module
+++ b/paging.module
@@ -28,6 +28,8 @@ function paging_theme() {
     'paging_drop_down' => array('tags' => NULL, 'limit' => NULL, 'element' => NULL, 'parameters' => NULL, 'quantity' => NULL),
     // Helper theme function to generates the select list for drop down pager.
     'paging_drop_down_option' => array('url_chunk' => NULL, 'page_name' => NULL, 'page_no' => NULL, 'selected' => NULL),
+    // Copy of theme_pager_link without text attributes, and with current indicator.
+    'pager_link_item' => array('text' => NULL, 'page_new' => NULL, 'element' => NULL, 'parameters' => array(), 'attributes' => array()),
     'pager_wrapper' => array('output' => NULL),
   );
   $types = node_get_types();
@@ -347,7 +349,8 @@ function paging_block($op = 'list', $delta = 0, $edit = array()) {
  *   Node ID to render page links for.
  */
 function paging_render_names($nid = NULL) {
-  global $pager_page_array;
+  global $pager_page_array, $pager_total;
+
   // Load node ID form URL, if none was supplied.
   $nid = $nid ? $nid : arg(1);
   // Fetch a structured array containing page names.
@@ -367,10 +370,13 @@ function paging_render_names($nid = NULL) {
   $rendered_links = array();
   // Element value to distinguish between multiple pagers on one page.
   $element = 1;
+  // Get the current position.
+  $pager_current = $pager_page_array[$element] + 1;
+
   // Convert the names into links.
   foreach ($names as $key => $name) {
     $page_new = pager_load_array($key, $element, $pager_page_array);
-    $rendered_links[] = theme('pager_link', $name, $page_new, $element);
+    $rendered_links[] = theme('pager_link_item', $name, $page_new, $element);
   }
   return theme('item_list', $rendered_links);
 }
@@ -941,4 +947,46 @@ function paging_wysiwyg_include_directory($type) {
  */
 function theme_pager_wrapper($output){
   return '<div class="links">' . $output . '</div>';
-}
\ No newline at end of file
+}
+
+/**
+ * Returns HTML for a link to a specific pageing page.
+ *
+ * @param $text
+ *   The link text.
+ * @param $page_new
+ *   The first result to display on the linked page.
+ * @param $element
+ *   An optional integer to distinguish between multiple pagers on one page.
+ * @param $parameters
+ *   An associative array of query string parameters to append to the pager link.
+ * @param $attributes
+ *   An associative array of HTML attributes to apply to the pager link.
+ * @return
+ *   An HTML string that generates the link.
+ *
+ * @ingroup themeable
+ */
+function theme_pager_link_item($text, $page_new, $element, $parameters = array(), $attributes = array()) {
+  $page = isset($_GET['page']) ? $_GET['page'] : '';
+  if ($new_page = implode(',', pager_load_array($page_new[$element], $element, explode(',', $page)))) {
+    $parameters['page'] = $new_page;
+  }
+
+  $query = array();
+  if (isset($parameters['page'])) {
+    $query['page'] = $parameters['page'];
+  }
+
+  $querystring = pager_get_querystring();
+  if ($querystring != '') {
+    $query[] = $querystring;
+  }
+
+  // Set active state for CSS.
+  if ($page == $query['page']) {
+    $attributes['class'] = 'pager-current';
+  }
+
+  return l($text, $_GET['q'], array('attributes' => $attributes, 'query' => count($query) ? implode('&', $query) : NULL));
+}
