=== modified file 'includes/database.inc'
--- includes/database.inc	
+++ includes/database.inc	
@@ -277,11 +277,10 @@ function db_rewrite_sql($query, $primary
     $query = preg_replace('/(SELECT.*)('. $primary_table .'\.)?(?<!DISTINCT\()(?<!DISTINCT\('. $primary_table .'\.)'. $primary_field .'(.*FROM)/AUsi', '\1'. $field_to_select .'\3', $query);
   }
 
-  if (!empty($join)) {
-    $query = preg_replace('/LEFT |RIGHT |INNER |WHERE|GROUP|ORDER|$/', $join .' \0', $query, 1);
-  }
-
-  if (!empty($where)) {
+  if (!empty($where) || !empty($join)) {
+    if (empty($where)) {
+      $where = "'1'";
+    }
     if (strpos($query, 'WHERE')) {
       $replace = 'WHERE';
       $add = 'AND';
@@ -299,10 +298,10 @@ function db_rewrite_sql($query, $primary
       $add = 'LIMIT';
     }
     else {
-      $query .= ' WHERE '. $where;
+      $query .= "$join WHERE $where";
     }
     if (isset($replace)) {
-      $query = str_replace($replace, 'WHERE  '. $where .' '. $add .' ', $query);
+      $query = str_replace($replace, "$join WHERE  ". $where .' '. $add .' ', $query);
     }
   }
 
