diff --git a/rules_link.views.inc b/rules_link.views.inc
index f9c9d16..dc07865 100644
--- a/rules_link.views.inc
+++ b/rules_link.views.inc
@@ -29,6 +29,7 @@ function rules_link_views_data() {
  */
 class views_handler_field_rules_link extends views_handler_field_entity {
   function render($value) {
+    $title = '';
     $replacements = filter_xss_admin($this->options['rules_link']['rules_link_parameters']);
     $token = $this->get_render_tokens('');
     $parameters = array_filter(explode(',', strtr($replacements, $token)));
@@ -44,12 +45,19 @@ class views_handler_field_rules_link extends views_handler_field_entity {
     // the entities which have the correct bundle.
     if (empty($rules_link->settings['bundles']) || in_array($bundle, $rules_link->settings['bundles'])) {
       $output = rules_link_render_link($rules_link, $id, drupal_get_destination(), $parameters);
-      if (isset($this->options['rules_link']['rules_link_rewrite']) && !empty($this->options['rules_link']['rules_link_rewrite'])) {
-        $output['#options']['html'] = TRUE;
-        $output['#title'] = strtr($this->options['rules_link']['rules_link_rewrite'], $this->get_render_tokens(''));
+      if (!empty($output)) {
+        $this->options['alter']['make_link'] = TRUE;
+        $this->options['alter']['path'] = $output['#href'];
+        if (isset($output['#attributes']['class'])) {
+          $this->options['alter']['link_class'] .= implode(' ', $output['#attributes']['class']);
+        }
+        if ($this->options['rules_link']['rules_link_rewrite']) {
+          $output['#title'] = strtr($this->options['rules_link']['rules_link_rewrite'], $this->get_render_tokens(''));
+        }
+        $title = $output['#title'];
       }
-      return $output;
     }
+    return $title;
   }
 
   /**
