diff --git a/modules/taxonomy/taxonomy.js b/modules/taxonomy/taxonomy.js
index 1a0c790..3b94b15 100644
--- a/modules/taxonomy/taxonomy.js
+++ b/modules/taxonomy/taxonomy.js
@@ -8,30 +8,34 @@
  */
 Drupal.behaviors.termDrag = {
   attach: function (context, settings) {
-    var table = $('#taxonomy', context);
-    var tableDrag = Drupal.tableDrag.taxonomy; // Get the blocks tableDrag object.
-    var rows = $('tr', table).length;
+    var backStep = settings.taxonomy.backStep;
+    var forwardStep = settings.taxonomy.forwardStep;
+    // Get the blocks tableDrag object.
+    var tableDrag = Drupal.tableDrag.taxonomy;
+    var $table = $('#taxonomy');
+    var rows = $table.find('tr').length;
 
     // When a row is swapped, keep previous and next page classes set.
     tableDrag.row.prototype.onSwap = function (swappedRow) {
-      $('tr.taxonomy-term-preview', table).removeClass('taxonomy-term-preview');
-      $('tr.taxonomy-term-divider-top', table).removeClass('taxonomy-term-divider-top');
-      $('tr.taxonomy-term-divider-bottom', table).removeClass('taxonomy-term-divider-bottom');
+      $table.find('tr.taxonomy-term-preview').removeClass('taxonomy-term-preview');
+      $table.find('tr.taxonomy-term-divider-top').removeClass('taxonomy-term-divider-top');
+      $table.find('tr.taxonomy-term-divider-bottom').removeClass('taxonomy-term-divider-bottom');
 
-      if (settings.taxonomy.backStep) {
-        for (var n = 0; n < settings.taxonomy.backStep; n++) {
-          $(table[0].tBodies[0].rows[n]).addClass('taxonomy-term-preview');
+      var tableBody = $table[0].tBodies[0];
+      if (backStep) {
+        for (var n = 0; n < backStep; n++) {
+          $(tableBody.rows[n]).addClass('taxonomy-term-preview');
         }
-        $(table[0].tBodies[0].rows[settings.taxonomy.backStep - 1]).addClass('taxonomy-term-divider-top');
-        $(table[0].tBodies[0].rows[settings.taxonomy.backStep]).addClass('taxonomy-term-divider-bottom');
+        $(tableBody.rows[backStep - 1]).addClass('taxonomy-term-divider-top');
+        $(tableBody.rows[backStep]).addClass('taxonomy-term-divider-bottom');
       }
 
-      if (settings.taxonomy.forwardStep) {
-        for (var n = rows - settings.taxonomy.forwardStep - 1; n < rows - 1; n++) {
-          $(table[0].tBodies[0].rows[n]).addClass('taxonomy-term-preview');
+      if (forwardStep) {
+        for (var k = rows - forwardStep - 1; k < rows - 1; k++) {
+          $(tableBody.rows[k]).addClass('taxonomy-term-preview');
         }
-        $(table[0].tBodies[0].rows[rows - settings.taxonomy.forwardStep - 2]).addClass('taxonomy-term-divider-top');
-        $(table[0].tBodies[0].rows[rows - settings.taxonomy.forwardStep - 1]).addClass('taxonomy-term-divider-bottom');
+        $(tableBody.rows[rows - forwardStep - 2]).addClass('taxonomy-term-divider-top');
+        $(tableBody.rows[rows - forwardStep - 1]).addClass('taxonomy-term-divider-bottom');
       }
     };
   }
