diff --git includes/admin.inc includes/admin.inc
index ac61d3e..d5131ce 100644
--- includes/admin.inc
+++ includes/admin.inc
@@ -3836,6 +3836,10 @@ function theme_views_ui_style_plugin_table($form) {
       'align' => 'center',
     ),
     array(
+      'data' => t('Default order'),
+      'align' => 'center',
+    ),
+    array(
       'data' => t('Default sort'),
       'align' => 'center',
     ),
@@ -3853,6 +3857,10 @@ function theme_views_ui_style_plugin_table($form) {
         'align' => 'center',
       );
       $row[] = array(
+        'data' => drupal_render($form['info'][$id]['default_sort_order']),
+        'align' => 'center',
+      );
+      $row[] = array(
         'data' => drupal_render($form['default'][$id]),
         'align' => 'center',
       );
@@ -3860,12 +3868,13 @@ function theme_views_ui_style_plugin_table($form) {
     else {
       $row[] = '';
       $row[] = '';
+      $row[] = '';
     }
     $rows[] = $row;
   }
 
   // Add the special 'None' row.
-  $rows[] = array(t('None'), '', '', '', array('align' => 'center', 'data' => drupal_render($form['default'][-1])));
+  $rows[] = array(t('None'), '', '', '', '', array('align' => 'center', 'data' => drupal_render($form['default'][-1])));
 
   $output .= theme('table', $header, $rows);
   $output .= drupal_render($form);
diff --git plugins/views_plugin_style_table.inc plugins/views_plugin_style_table.inc
index 5a13e79..e5ba7d6 100644
--- plugins/views_plugin_style_table.inc
+++ plugins/views_plugin_style_table.inc
@@ -51,12 +51,14 @@ class views_plugin_style_table extends views_plugin_style {
         return;
       }
       $sort = $this->options['default'];
-      $this->order = !empty($this->options['order']) ? $this->options['order'] : 'asc';
+      $default_sort = !empty($this->options['info'][$sort]['default_sort_order']) ?  $this->options['info'][$sort]['default_sort_order'] : 'asc';
+      $this->order = !empty($this->options['order']) ? $this->options['order'] : $default_sort;
     }
     else {
       $sort = $_GET['order'];
       // Store the $order for later use.
-      $this->order = !empty($_GET['sort']) ? strtolower($_GET['sort']) : 'asc';
+      $default_sort = !empty($this->options['info'][$sort]['default_sort_order']) ?  $this->options['info'][$sort]['default_sort_order'] : 'asc';
+      $this->order = !empty($_GET['sort']) ? strtolower($_GET['sort']) : $default_sort;
     }
 
     // If a sort we don't know anything about gets through, exit gracefully.
@@ -201,6 +203,14 @@ class views_plugin_style_table extends views_plugin_style {
           '#process' => array('views_process_dependency'),
           '#dependency' => array($id => array($field)),
         );
+        $form['info'][$field]['default_sort_order'] = array(
+          '#type' => 'select',
+          '#options' => array('asc' => t('Up'), 'desc' => t('Down')),
+          '#default_value' => !empty($this->options['info'][$field]['default_sort_order']) ? $this->options['info'][$field]['default_sort_order'] : 'asc',
+          '#process' => array('views_process_dependency'),
+          '#dependency_count' => 2,
+          '#dependency' => array($id => array($field), 'edit-style-options-info-' . $safe . '-sortable' => array(1)),
+        );
         // Provide an ID so we can have such things.
         $radio_id = form_clean_id('edit-default-' . $field);
         $form['default'][$field] = array(
diff --git theme/theme.inc theme/theme.inc
index 0788ea1..9932546 100644
--- theme/theme.inc
+++ theme/theme.inc
@@ -299,11 +299,10 @@ function template_preprocess_views_view_table(&$vars) {
         $vars['header'][$field] = $label;
       }
       else {
-        // @todo -- make this a setting
-        $initial = 'asc';
+        $initial = !empty($options['info'][$field]['default_sort_order']) ? $options['info'][$field]['default_sort_order'] : 'asc';
 
-        if ($active == $field && $order == 'asc') {
-          $initial = 'desc';
+        if ($active == $field) {
+          $initial = ($order == 'asc') ? 'desc' : 'asc';
         }
 
         $title = t('sort by @s', array('@s' => $label));
