diff --git a/resources/comment_resource.inc b/resources/comment_resource.inc
index ce0e57b..ea379cc 100644
--- a/resources/comment_resource.inc
+++ b/resources/comment_resource.inc
@@ -110,7 +110,7 @@ function _comment_resource_definition() {
             'optional' => TRUE,
             'type' => 'array',
             'description' => 'Parameters',
-            'default value' => NULL,
+            'default value' => array(),
             'source' => array('param' => 'parameters'),
           ),
         ),
diff --git a/resources/file_resource.inc b/resources/file_resource.inc
index 4217d2c..1a5bf43 100644
--- a/resources/file_resource.inc
+++ b/resources/file_resource.inc
@@ -95,7 +95,7 @@ function _file_resource_definition() {
             'optional' => TRUE,
             'type' => 'array',
             'description' => 'Parameters',
-            'default value' => NULL,
+            'default value' => array(),
             'source' => array('param' => 'parameters'),
           ),
         ),
diff --git a/resources/taxonomy_resource.inc b/resources/taxonomy_resource.inc
index 1fd98f8..622cf66 100644
--- a/resources/taxonomy_resource.inc
+++ b/resources/taxonomy_resource.inc
@@ -101,7 +101,7 @@ function _taxonomy_resource_definition() {
             'optional' => TRUE,
             'type' => 'array',
             'description' => 'Parameters',
-            'default value' => NULL,
+            'default value' => array(),
             'source' => array('param' => 'parameters'),
           ),
         ),
@@ -238,7 +238,7 @@ function _taxonomy_resource_definition() {
             'optional' => TRUE,
             'type' => 'array',
             'description' => 'Parameters',
-            'default value' => NULL,
+            'default value' => array(),
             'source' => array('param' => 'parameters'),
           ),
         ),
diff --git a/services.module b/services.module
index d966fb7..7606af9 100644
--- a/services.module
+++ b/services.module
@@ -467,10 +467,8 @@ function services_resource_build_index_query($query, $page, $fields, $parameters
     $query->fields('t');
   }
   else {
-    $fields = explode(',', $fields);
-    $query->fields('t', $explode(',', $fields));
+    $query->fields('t', explode(',', $fields));
   }
-  if(isset($parameters) && is_array($parameters))
   foreach ($parameters as $parameter => $parameter_value) {
     $query->condition($parameter, $parameter_value, '=');
   }
diff --git a/tests/functional/ServicesResourceCommentTests.test b/tests/functional/ServicesResourceCommentTests.test
index a0904b6..84c2f85 100644
--- a/tests/functional/ServicesResourceCommentTests.test
+++ b/tests/functional/ServicesResourceCommentTests.test
@@ -68,7 +68,7 @@ class ServicesResourceCommentTests extends ServicesWebTestCase {
     $page_count = ceil(count($comments) / 20);
     $retrieved_comments = array();
     for ($page = 0; $page < $page_count; $page++) {
-      $responseArray = $this->servicesGet($this->endpoint->path . '/comment', array('page' => $page));
+      $responseArray = $this->servicesGet($this->endpoint->path . '/comment', array('page' => $page, 'fields' => 'cid,subject'));
       $this->assertTrue(count($responseArray['body']) <= 20, t('Correct number of items returned'));
 
       // Store the returned comment IDs.
diff --git a/tests/functional/ServicesResourceFileTests.test b/tests/functional/ServicesResourceFileTests.test
index cb3c6ca..6dc3545 100644
--- a/tests/functional/ServicesResourceFileTests.test
+++ b/tests/functional/ServicesResourceFileTests.test
@@ -65,7 +65,7 @@ class ServicesResourceFileTests extends ServicesWebTestCase {
     $page_count = ceil(count($files) / 20);
     $retrieved_files = array();
     for ($page = 0; $page < $page_count; $page++) {
-      $responseArray = $this->servicesGet($this->endpoint->path . '/file', array('page' => $page));
+      $responseArray = $this->servicesGet($this->endpoint->path . '/file', array('page' => $page, 'fields' => 'fid,filename'));
       $this->assertTrue(count($responseArray['body']) <= 20, t('Correct number of items returned'));
 
       // Store the returned file IDs.
diff --git a/tests/functional/ServicesResourceNodeTests.test b/tests/functional/ServicesResourceNodeTests.test
index 23929d7..1374d4c 100644
--- a/tests/functional/ServicesResourceNodeTests.test
+++ b/tests/functional/ServicesResourceNodeTests.test
@@ -64,7 +64,7 @@ class ServicesResourceNodetests extends ServicesWebTestCase {
     $page_count = ceil(count($nodes) / 20);
     $retrieved_nodes = array();
     for ($page = 0; $page < $page_count; $page++) {
-      $responseArray = $this->servicesGet($this->endpoint->path . '/node', array('page' => $page));
+      $responseArray = $this->servicesGet($this->endpoint->path . '/node', array('page' => $page, 'fields' => 'nid,title'));
       $this->assertTrue(count($responseArray['body']) <= 20, t('Correct number of items returned'));
 
       // Store the returned node IDs.
diff --git a/tests/functional/ServicesResourceTaxonomyTests.test b/tests/functional/ServicesResourceTaxonomyTests.test
index 1147225..5c59c8b 100644
--- a/tests/functional/ServicesResourceTaxonomyTests.test
+++ b/tests/functional/ServicesResourceTaxonomyTests.test
@@ -56,18 +56,18 @@ class ServicesResourceTaxonomyTests extends ServicesWebtestCase {
       $vocabularys[$vocabulary['vid']] = $vocabulary;
     }
     $vocabulary = taxonomy_vocabulary_load(1);
-    $vocabularys[1] = (array)$vocabulary;
+    $vocabularys[1] = (array) $vocabulary;
     // Get the content.
     $page_count = ceil(count($vocabularys) / 20);
     $retrieved_terms = array();
     for ($page = 0; $page < $page_count; $page++) {
-      $responseArray = $this->servicesGet($this->endpoint->path . '/taxonomy_vocabulary', array('page' => $page));
+      $responseArray = $this->servicesGet($this->endpoint->path . '/taxonomy_vocabulary', array('page' => $page, 'fields' => 'vid,name'));
       $this->assertTrue(count($responseArray['body']) <= 20, t('Correct number of items returned'));
 
       // Store the returned comment IDs.
       foreach ($responseArray['body'] as $vocabulary) {
         if (isset($retrieved_vocabularys[$vocabulary->vid])) {
-          $this->fail(t('Duplicate vocabulary @vid returned.', array('@vid' => $vocabulary->tid)));
+          $this->fail(t('Duplicate vocabulary @vid returned.', array('@vid' => $vocabulary->vid)));
         }
         $retrieved_vocabularys[$vocabulary->vid] = TRUE;
 
@@ -107,7 +107,7 @@ class ServicesResourceTaxonomyTests extends ServicesWebtestCase {
     $page_count = ceil(count($terms) / 20);
     $retrieved_terms = array();
     for ($page = 0; $page < $page_count; $page++) {
-      $responseArray = $this->servicesGet($this->endpoint->path . '/taxonomy_term', array('page' => $page));
+      $responseArray = $this->servicesGet($this->endpoint->path . '/taxonomy_term', array('page' => $page, 'fields' => 'tid,name'));
       $this->assertTrue(count($responseArray['body']) <= 20, t('Correct number of items returned'));
 
       // Store the returned comment IDs.
diff --git a/tests/functional/ServicesResourceUserTests.test b/tests/functional/ServicesResourceUserTests.test
index 398c111..450ef24 100644
--- a/tests/functional/ServicesResourceUserTests.test
+++ b/tests/functional/ServicesResourceUserTests.test
@@ -166,7 +166,7 @@ class ServicesResourceUsertests extends ServicesWebtestCase {
 
     $accounts_copy = $accounts;
 
-    $response = $this->servicesGet($this->endpoint->path . '/user');
+    $response = $this->servicesGet($this->endpoint->path . '/user', array('fields' => 'uid,name,mail'));
     $response_accounts = $response['body'];
 
     foreach ($response_accounts as $response_account) {
