Index: nodequeue/nodequeue_dragdrop.js
===================================================================
--- nodequeue/nodequeue_dragdrop.js	(.../D:/workspace-zend/drupal-osce-org/drupal/sites/default/modules/nodequeue)	(working copy)
+++ nodequeue/nodequeue_dragdrop.js	(.../svn+ssh://www-dev.osce.org/pws/contributions/modules/nodequeue/tags/6.x-2.9-patched1)	(revision 2286)
@@ -7,6 +7,8 @@
     $('td.position').each(function(i){
       $(this).html(i + 1);
     });
+    
+    nodequeueUpdateNodePositions();
   }
 }
 
@@ -17,12 +19,7 @@
       $('.nodequeue-dragdrop tbody').prepend(this);
     });
 
-    // ...and update node positions
-    var size = $('.node-position').size();
-    $('.node-position').each(function(i){
-      var val = $(this).val();
-      $(this).val(size - val + 1);
-    });
+    nodequeueUpdateNodePositions();
 
     nodequeueInsertChangedWarning();
     nodequeueRestripeTable();
@@ -40,15 +37,7 @@
       $('.nodequeue-dragdrop tbody').prepend(this);
     });
 
-    var reverse = Drupal.settings.nodequeue.reverse;
- 
-    // ...and update node positions
-    var size = reverse ? $('.node-position').size() : 1;
-    $('.node-position').each(function(i){
-      var val = $(this).val();
-      $(this).val(size);
-      reverse ? size-- : size++;
-    });
+    nodequeueUpdateNodePositions();
 
     nodequeueInsertChangedWarning();
     nodequeueRestripeTable();
@@ -111,6 +100,24 @@
 }
 
 /**
+ * Updates node positions after nodequeue has been rearranged. It cares about the
+ * reverse order and populates nodes the other way round.
+ * @return
+ */
+function nodequeueUpdateNodePositions() {
+   
+  var reverse = Drupal.settings.nodequeue.reverse; //check if reverse option is set
+  
+  var size = reverse ? $('.node-position').size() : 1;
+  $('.node-position').each(function(i){
+    var val = $(this).val();
+    $(this).val(size);
+    reverse ? size-- : size++;
+  });	
+	
+}
+
+/**
  * Restripe the nodequeue table after removing an element or changing the
  * order of the elements.
  */
