--- advuser_filters.inc.bak	2008-05-07 15:19:16.000000000 +0100
+++ advuser_filters.inc.fix_refine	2008-05-07 16:25:34.000000000 +0100
@@ -317,11 +317,14 @@ function advuser_filters() {
 
   $profile_fields = advuser_profile_fields();
   foreach ($profile_fields as $field) {
+
+    $pvname = $field->name; // Use profile fieldname as identifier in JOIN and WHERE SQL clauses to avoid name clashes on refined searches
+
     $filters[$field->name] = array(
       'title' => $field->title,
       'type' => $field->type,
-      'join' => "LEFT JOIN {profile_fields} pf ON pf.fid = ".$field->fid." LEFT JOIN {profile_values} pv ON pv.fid = pf.fid",
-      'where' => "pv.value %op '%s' AND pv.uid = u.uid",
+      'join' => "LEFT JOIN {profile_values} ".$pvname." ON ".$pvname.".fid = " . $field->fid, //use profile fieldname- also join of profile_fields dropped as redundant
+      'where' => $pvname.".value %op '%s' AND ".$pvname.".uid = u.uid", //use profile fieldname
     );
   }
   return $filters;
