diff --git a/includes/views/views_plugin_display_services.inc b/includes/views/views_plugin_display_services.inc
index b2ac971..6bf1c93 100644
--- a/includes/views/views_plugin_display_services.inc
+++ b/includes/views/views_plugin_display_services.inc
@@ -35,16 +35,26 @@ class views_plugin_display_services extends views_plugin_display {
 
     // Map fields.
     $result = array();
-    foreach ($this->view->result as $item) {
+    foreach ($this->view->field as $field) {
+      $field->pre_render($this->view->result);
+    }
+    foreach ($this->view->result as $row_index => $item) {
       $new_item = new stdClass();
       foreach ($this->view->field as $field) {
-        if (isset($item->{$field->field_alias})) {
+        /*if (isset($item->{$field->field_alias})) {
+          $output = $item->{$field->field_alias};
+        }
+        else {*/
+          $field->view->row_index = $row_index;
+          $output = $field->theme($item);
+        //}
+        if (!empty($output)){
           // Make sure new keys are alphanumerical, underscore and dash.
           if (!empty($field->options['label']) && preg_match('/^[0-9a-z_-]*$/', $field->options['label'])) {
-            $new_item->{$field->options['label']} = $item->{$field->field_alias};
+            $new_item->{$field->options['label']} = $output;
           }
           else {
-            $new_item->{$field->field_alias} = $item->{$field->field_alias};
+            $new_item->{$field->field_alias} = $output;
           }
         }
       }
diff --git a/services_views.resource.inc b/services_views.resource.inc
index 191917d..6236e33 100755
--- a/services_views.resource.inc
+++ b/services_views.resource.inc
@@ -68,7 +68,10 @@ function services_views_retrieve($view_name, $display_id = 'default', $args = ar
     }
     elseif ($row_plugin == 'fields') {
       $items = array();
-      foreach ($view->result as $row) {
+      foreach ($view->field as $field){
+        $field->pre_render($view->result);
+      }
+      foreach ($view->result as $row_index => $row) {
         $item = new stdClass();
         foreach ($view->field as $field_id => $field) {
           if (!empty($field->options['label'])) {
@@ -80,6 +83,7 @@ function services_views_retrieve($view_name, $display_id = 'default', $args = ar
           else {
             $field_label = $field_id;
           }
+          $field->view->row_index = $row_index;
           $item->$field_label = $field->theme($row);
         }
         $items[] = $item;
