diff --git a/views/handlers/geofield_handler_argument_proximity.inc b/views/handlers/geofield_handler_argument_proximity.inc
index cc76f71..ff62201 100644
--- a/views/handlers/geofield_handler_argument_proximity.inc
+++ b/views/handlers/geofield_handler_argument_proximity.inc
@@ -59,6 +59,21 @@ class geofield_handler_argument_proximity extends views_handler_argument {
     );
   }
 
+  public function get_default_argument($geocoded = TRUE) {
+    $def_arg_string = parent::get_default_argument();
+
+    // This adds any missing bits, i.e. default distance, default lat,lon.
+    $lat_lon_dist = $this->parseLatLonDistArg($def_arg_string);
+    
+    if (empty($lat_lon_dist) && $geocoded) {
+      $lat_lon_dist = $this->parseAddress(array($def_arg_string));
+    }
+    if (empty($lat_lon_dist)) {
+      return $def_arg_string;
+    }
+    return $lat_lon_dist['latitude'] . ',' . $lat_lon_dist['longitude'] . '_' . $lat_lon_dist['distance'];
+  }
+
   /**
    * Set up the where clause for the contextual filter argument.
    */
@@ -96,7 +111,7 @@ class geofield_handler_argument_proximity extends views_handler_argument {
 
   function parseArg($argument) {
     // Get and process args. Expect and parse this format: "lat,lon dist".
-    if (!empty($this->view->args) && $lat_lon_dist = $this->parseLatLonDistArg($this->view->args[$argument->position])) {
+    if (!empty($this->view->args[$argument->position]) && $lat_lon_dist = $this->parseLatLonDistArg($this->view->args[$argument->position])) {
       // Found lat, lon and dist. Can proceed with haversine formula.
       return $lat_lon_dist;
     }
@@ -198,12 +213,11 @@ class geofield_handler_argument_proximity extends views_handler_argument {
   }
 
   private function getDefaultLatLonDist() {
-    return $default_arg = $this->get_default_argument()
-      ? array_filter(preg_split(GEOFIELD_PROXIMITY_REGEXP_PATTERN, $default_arg))
-      : array();
+    $default_arg = $this->get_default_argument();
+    return empty($default_arg) ? array() : array_filter(preg_split(GEOFIELD_PROXIMITY_REGEXP_PATTERN, $default_arg));
   }
 
-  private function getDefaultDist() {
+  public function getDefaultDist() {
     if (!empty($this->options['proximity']['default_radius'])) {
       return $this->options['proximity']['default_radius'];
     }
