--- a/cleanpager.module	2009-08-03 21:38:20.000000000 +0530
+++ b/cleanpager.module	2010-03-16 22:26:04.000000000 +0530
@@ -53,14 +53,21 @@ function cleanpager_perm() {
  * Implementation of hook_init().
  */
 function cleanpager_init() {
-  if (cleanpager_check_match()) {
+  if (cleanpager_check_match() or (arg(0) == 'taxonomy' and arg(1) == 'term' and is_numeric(arg(2)))) {
     if (variable_get('cleanpager_use_seo_links', '') == 1) {
       drupal_add_js(drupal_get_path('module','cleanpager') .'/cleanpager.js');
     }
-    $url_array = explode('/',$_GET['q']);
-    $page = end($url_array);
-    array_pop($url_array);
-    
+    if(arg(0) == 'taxonomy' and arg(1) == 'term' and is_numeric(arg(2))) {
+      $url_array = explode('/',$_GET['q']);
+      if(count($url_array) > 3) {
+        $page = end($url_array);
+        array_pop($url_array);
+      }
+    }else {
+      $url_array = explode('/',$_GET['q']);
+      $page = end($url_array);
+      array_pop($url_array);
+    }
     //die($page . 't');
     if (is_numeric($page)) {
       //die($page);
@@ -74,7 +81,7 @@ function cleanpager_init() {
  */
 function cleanpager_check_match() {
   $q = cleanpager_path();
-  if (drupal_match_path($q, variable_get('cleanpager_pages',''))) {
+  if (drupal_match_path($q, variable_get('cleanpager_pages','')) or (arg(0) == 'taxonomy' and arg(1) == 'term' and is_numeric(arg(2)))) {
     return $q;
   }
   return false;
@@ -86,9 +93,16 @@ function cleanpager_check_match() {
 function cleanpager_path() {
   $q = $_GET['q'];
   $q_array = explode('/', $_GET['q']);
-  if (is_numeric(end($q_array))) {
-    array_pop($q_array);
-    $q = implode('/', $q_array);
+  if ((arg(0) == 'taxonomy' and arg(1) == 'term' and is_numeric(arg(2)))) {
+    if (is_numeric(end($q_array)) and count($q_array) > 3) {
+      array_pop($q_array);
+      $q = implode('/', $q_array);
+    }
+  }else {
+    if (is_numeric(end($q_array))) {
+      array_pop($q_array);
+      $q = implode('/', $q_array);
+    }
   }
   return $q;
 }
