--- profilesearch.module.orig	2008-07-16 12:36:02.000000000 +0200
+++ profilesearch.module	2008-07-16 12:36:08.000000000 +0200
@@ -64,13 +64,19 @@ function profilesearch_search_form_submi
 
 function profilesearch_dosearch($searchstring) {
 
-  $result = db_query("SELECT DISTINCT u.*, pf.title AS title, pv.value AS value
+  if (module_exists('profile_privacy')) {
+    $profile_privacy_join = "LEFT JOIN {profile_privacy_values} pp ON pv.fid=pp.fid AND pv.uid=pp.uid";
+    $profile_privacy_where = "AND pp.private=0";
+  }
+  $result = db_query("SELECT DISTINCT u.*, pf.title AS title, pv.value AS value, pp.private AS private
     FROM {profile_values} pv
       LEFT JOIN {users} u ON pv.uid = u.uid 
       LEFT JOIN {profile_fields} pf ON pf.fid=pv.fid
-    WHERE pv.value LIKE '%s' 
+      $profile_privacy_join
+    WHERE (pv.value LIKE '%s' 
       OR u.name LIKE '%s'
-      OR u.mail LIKE '%s'
+      OR u.mail LIKE '%s')
+      $profile_privacy_where
     ORDER BY u.name", array('%'. $searchstring .'%', '%'. $searchstring .'%', '%'. $searchstring .'%'));
   
   $records = array();
