--- flexinode.module.dist	Wed Apr 21 22:10:47 2004
+++ flexinode.module	Wed Apr 21 22:12:03 2004
@@ -411,19 +411,17 @@
   // build the query
   $fields_to_select = array();
   $table_joins = array();
-  $where_clauses = array();
   
   foreach ($ctype->fields as $field) {
     $fieldname = "flexinode_". $field->field_id;
     
     $fields_to_select[] = flexinode_invoke("db_select", $field);
-    $table_joins[] = "LEFT JOIN {flexinode_data} ". $fieldname ." ON n.nid = ". $fieldname .".nid";
-    $where_clauses[] = $fieldname .".field_id = ". $field->field_id;
+    $table_joins[] = "LEFT JOIN {flexinode_data} ". $fieldname ." ON n.nid = ". $fieldname .".nid AND ". $fieldname .".field_id = " . $field->field_id;
   }
   
   if (count($fields_to_select) > 0) {
     // make the query
-    $flexinode = db_fetch_object(db_query("SELECT ". implode(", ", $fields_to_select) ." FROM {node} n ". implode(" ", $table_joins) ." WHERE n.nid = %d AND ". implode(" AND ", $where_clauses), $node->nid));
+    $flexinode = db_fetch_object(db_query("SELECT ". implode(", ", $fields_to_select) ." FROM {node} n ". implode(" ", $table_joins) ." WHERE n.nid = %d", $node->nid));
 
     // unserialize necessary fields
     foreach ($ctype->fields as $field) {
