diff --git includes/query.inc includes/query.inc
index fcb6317..c543bef 100644
--- includes/query.inc
+++ includes/query.inc
@@ -115,7 +115,11 @@ class views_query {
    * Set the base field to be distinct.
    */
   function set_distinct($value = TRUE) {
-    if (!(isset($this->no_distinct) && $value)) {
+    // Hack in a check to see if node_access is going to add its own DISTINCT
+    // and break this query.
+    // See - http://drupal.org/node/284392 for the core bug.
+    $access = node_access_view_all_nodes();
+    if (!(isset($this->no_distinct)) && $access) {
       $this->distinct = $value;
     }
   }
