diff -urp location-6.x-3.0-rc2/handlers/location_handler_field_location_distance.inc location-branch/handlers/location_handler_field_location_distance.inc
--- location-6.x-3.0-rc2/handlers/location_handler_field_location_distance.inc	2008-09-16 16:37:58.000000000 -0700
+++ location-branch/handlers/location_handler_field_location_distance.inc	2008-12-05 08:38:16.000000000 -0700
@@ -10,7 +10,9 @@ class location_handler_field_location_di
 
   function construct() {
     parent::construct();
+    $this->field_alias = 'location_distance';
     $this->additional_fields['longitude'] = 'longitude';
+    $this->additional_fields['latitude'] = 'latitude';
   }
 
   function option_definition() {
@@ -60,6 +62,11 @@ class location_handler_field_location_di
     );
   }
 
+  function query() {
+    $this->ensure_my_table();
+    $this->add_additional_fields();
+  }
+
   function render($values) {
     $latitude = (float)$this->options['latitude'];
     $longitude = (float)$this->options['longitude'];
@@ -74,18 +81,18 @@ class location_handler_field_location_di
         $longitude = (float)$user->locations[0]['longitude'];
       }
       else {
-        if ($this->options['origin'] == 'user') {
+	      if ($this->options['origin'] == 'user') {
           // Empty display.
           return;
         }
       }
     }
 
-    if (empty($values->{$this->field_alias}) || empty($values->{$this->aliases['longitude']})) {
+    if (empty($values->{$this->aliases['latitude']}) || empty($values->{$this->aliases['longitude']})) {
       // Unset location, empty display.
       return;
     }
-    $dist = earth_distance($longitude, $latitude, $values->{$this->aliases['longitude']}, $values->{$this->field_alias});
+    $dist = earth_distance($longitude, $latitude, $values->{$this->aliases['longitude']}, $values->{$this->aliases['latitude']});
 
     if ($this->options['units'] == 'km') {
       $dist = $dist / 1000.0;
diff -urp location-6.x-3.0-rc2/location.views.inc location-branch/location.views.inc
--- location-6.x-3.0-rc2/location.views.inc	2008-10-01 10:30:41.000000000 -0700
+++ location-branch/location.views.inc	2008-12-05 08:45:17.000000000 -0700
@@ -285,7 +285,6 @@ function location_views_data() {
     'title' => t('Distance'),
     'help' => t("The distance from the selected location and either the current user or a specific location."),
     'field' => array(
-      'field' => 'latitude', // The handler adds the longitude.
       'handler' => 'location_handler_field_location_distance',
       'click sortable' => TRUE,
     ),
