diff --git a/handlers/views_handler_field_url.inc b/handlers/views_handler_field_url.inc
index 643f048bf0ba239b2c9c2688980646aac43828f9..4a76548e9004b728db484c07248581507b1a98af 100644
--- a/handlers/views_handler_field_url.inc
+++ b/handlers/views_handler_field_url.inc
@@ -34,7 +34,10 @@ function options_form(&$form, &$form_state) {
   function render($values) {
     $value = $this->get_value($values);
     if (!empty($this->options['display_as_link'])) {
-      return l($this->sanitize_value($value), $value, array('html' => TRUE));
+      $this->options['alter']['make_link'] = TRUE;
+      $this->options['alter']['path'] = $value;
+      $text = !empty($this->options['text']) ? $this->sanitize_value($this->options['text']) : $this->sanitize_value($value, 'url');
+      return $text;
     }
     else {
       return $this->sanitize_value($value, 'url');