--- taxonomy.admin.inc_orig	2010-10-20 14:07:38.000000000 -0500
+++ taxonomy.admin.inc	2010-10-20 14:09:56.000000000 -0500
@@ -291,11 +291,19 @@ function taxonomy_overview_terms(&$form_
     $term_deltas = array();
     $tree = taxonomy_get_tree($vocabulary->vid);
     $term = current($tree);
+    $step_back = false;
     do {
       // In case this tree is completely empty.
       if (empty($term)) {
         break;
       }
+      
+      // Move back to first element if it is at the root
+      if ($step_back) {
+        $term = prev($tree);
+        $step_back = false;        
+      }
+      
       // Count entries before the current page.
       if ($page && ($page * $page_increment) > $before_entries && !isset($back_peddle)) {
         $before_entries++;
@@ -314,7 +322,11 @@ function taxonomy_overview_terms(&$form_
           $before_entries--;
           $back_peddle++;
           if ($pterm->depth == 0) {
-            prev($tree);
+            //prev($tree);
+            if (!prev($tree)) {
+              // Move to the first element at next root level loop
+              $step_back = reset($tree);
+            }      
             continue 2; // Jump back to the start of the root level parent.
           }
         }
