Index: builtin/src/main/java/org/hippoecm/frontend/plugins/standardworkflow/ReorderDialog.html
===================================================================
--- builtin/src/main/java/org/hippoecm/frontend/plugins/standardworkflow/ReorderDialog.html	(revision 27677)
+++ builtin/src/main/java/org/hippoecm/frontend/plugins/standardworkflow/ReorderDialog.html	(working copy)
@@ -20,10 +20,14 @@
     <span wicket:id="reorder-panel">
       <div class="hippo-reorder-border">
         <div class="hippo-reorder-buttons">
+            <button wicket:id="top">&#8657;</button>
             <button wicket:id="up">&#8593;</button>
             <button wicket:id="down">&#8595;</button>
+            <button wicket:id="bottom">&#8659;</button>
         </div>
-        <table class="hippo-list-details" cellspacing="0" wicket:id="table" width="100%">[table]</table>
+        <div class="hippo-reorder-table-area">
+        	<table class="hippo-list-details" cellspacing="0" wicket:id="table" width="100%">[table]</table>
+        </div>
       </div>
     </span>
     </div>
Index: builtin/src/main/java/org/hippoecm/frontend/plugins/standardworkflow/reorder.css
===================================================================
--- builtin/src/main/java/org/hippoecm/frontend/plugins/standardworkflow/reorder.css	(revision 27677)
+++ builtin/src/main/java/org/hippoecm/frontend/plugins/standardworkflow/reorder.css	(working copy)
@@ -2,14 +2,13 @@
 /* Reorder Plugin*/
 /* ================================================ */
 .hippo-reorder table {
-  width: 480px;
+  width: 445px;
 }
 
 .hippo-reorder .hippo-reorder-border {
   border: 1px solid #32629b;
   padding: 5px;
   height: 272px;
-  overflow: auto;
   position: relative
 }
 
@@ -17,7 +16,13 @@
   position: absolute;
   right: 0px;
   top: 1px;
-  width: 30px;
+  width: 34px;
+}
+
+.hippo-reorder .hippo-reorder-table-area {
+	overflow: auto;
+	width: 465px; 
+	height: 272px;
 }
 
 .hippo-reorder .folderlist h3 {
Index: builtin/src/main/java/org/hippoecm/frontend/plugins/standardworkflow/ReorderDialog.java
===================================================================
--- builtin/src/main/java/org/hippoecm/frontend/plugins/standardworkflow/ReorderDialog.java	(revision 27677)
+++ builtin/src/main/java/org/hippoecm/frontend/plugins/standardworkflow/ReorderDialog.java	(working copy)
@@ -164,6 +164,14 @@
             }
         }
 
+        public void shiftTop(ListItem item) {
+            int index = listItems.indexOf(item);
+            if (index > 0) {
+                listItems.remove(index);
+                listItems.add(0, item);
+            }
+        }
+
         public void shiftUp(ListItem item) {
             int index = listItems.indexOf(item);
             if (index > 0) {
@@ -180,6 +188,14 @@
             }
         }
 
+        public void shiftBottom(ListItem item) {
+            int index = listItems.indexOf(item);
+            if (index < listItems.size()) {
+                listItems.remove(index);
+                listItems.add(item);
+            }
+        }
+
         public List<String> getMapping() {
             LinkedList<String> newOrder = new LinkedList<String>();
             for (ListItem item : listItems) {
@@ -198,6 +214,8 @@
         private ListPagingDefinition pagingDefinition;
         private AjaxLink<Void> up;
         private AjaxLink<Void> down;
+        private AjaxLink<Void> top;
+        private AjaxLink<Void> bottom;
 
         public ReorderPanel(String id, JcrNodeModel model, DocumentListFilter filter) {
             super(id);
@@ -253,6 +271,23 @@
             add(dataTable = new ListDataTable<ListItem>("table", tableDefinition, dataProvider, this, false,
                     pagingDefinition));
 
+            top = new AjaxLink<Void>("top") {
+                private static final long serialVersionUID = 1L;
+
+                @Override
+                public void onClick(AjaxRequestTarget target) {
+                    IModel<ListItem> selection = dataTable.getModel();
+                    dataProvider.shiftTop(selection.getObject());
+
+                    ReorderPanel panel = ReorderPanel.this;
+                    dataTable = new ListDataTable<ListItem>("table", tableDefinition, dataProvider, panel, false,
+                            pagingDefinition);
+                    panel.replace(dataTable);
+                    selectionChanged(selection);
+                }
+            };
+            add(top);
+
             up = new AjaxLink<Void>("up") {
                 private static final long serialVersionUID = 1L;
 
@@ -287,7 +322,24 @@
             };
             add(down);
 
-            if (dataProvider.size() > 0) {
+            bottom = new AjaxLink<Void>("bottom") {
+                private static final long serialVersionUID = 1L;
+
+                @Override
+                public void onClick(AjaxRequestTarget target) {
+                    IModel<ListItem> selection = dataTable.getModel();
+                    dataProvider.shiftBottom(selection.getObject());
+
+                    ReorderPanel panel = ReorderPanel.this;
+                    dataTable = new ListDataTable<ListItem>("table", tableDefinition, dataProvider, panel, false,
+                            pagingDefinition);
+                    panel.replace(dataTable);
+                    selectionChanged(selection);
+                }
+            };
+            add(bottom);
+
+           if (dataProvider.size() > 0) {
                 ListItem selection = dataProvider.iterator(0, 1).next();
                 selectionChanged(dataProvider.model(selection));
             } else {
