diff --git resources/node_resource.inc resources/node_resource.inc
index eeac2cc..aa1024a 100644
--- resources/node_resource.inc
+++ resources/node_resource.inc
@@ -112,7 +112,7 @@ function _node_resource_definition() {
  * Returns the results of a node_load() for the specified node.
  *
  * This returned node may optionally take content_permissions settings into
- * account, based on a configuration setting. 
+ * account, based on a configuration setting.
  *
  * @param $nid
  *   NID of the node we want to return.
@@ -262,20 +262,24 @@ function _node_resource_delete($nid) {
  * @param $page
  *   Page number of results to return (in pages of 20).
  * @param $fields
- *   The fields you want returned. 
+ *   The fields you want returned.
  * @param $parameters
  *   An array of fields and values used to build a sql WHERE clause indicating
  *   what items should be deleted.
  * @return
  *   An array of node objects.
  *
- * @todo 
+ * @todo
  *   Evaluate the functionality here in general. Particularly around
  *     - Do we need fields at all? Should this just return full nodes?
  *     - Is there an easier syntax we can define which can make the urls
  *       for index requests more straightforward?
  **/
 function _node_resource_index($page = 0, $fields = '*', $parameters = array()) {
+  if (empty($fields)) {
+    $fields = '*';
+  }
+
   $parameters = (array) $parameters;
   $schema = drupal_get_schema('node');
   $where = array();
@@ -284,10 +288,10 @@ function _node_resource_index($page = 0, $fields = '*', $parameters = array()) {
 
   // Limit to published nodes if user doesn't have 'administer nodes'
   // permissions.
-  if (!user_access('administer nodes')) {	
+  if (!user_access('administer nodes')) {
     $parameters['status'] = 1;
   }
-  
+
   // Build an array of fields with the appropriate placeholders for use in
   // db_query().
   foreach ($parameters as $field => $value) {
@@ -295,7 +299,7 @@ function _node_resource_index($page = 0, $fields = '*', $parameters = array()) {
   }
 
   // Now implode that array into an actual WHERE clause.
-  $where = !empty($where) ? ' WHERE '. db_escape_string(implode(' AND ', $where)) : '';
+  $where = !empty($where) ? ' WHERE '. db_escape_string(implode(' AND ', $where)) : 'WHERE 1';
 
   // Run through db_rewrite_sql to make sure proper access checks are applied.
   $sql = "SELECT $fields FROM {node} $where ORDER BY sticky DESC, created DESC";
