diff --git a/plugins/views_plugin_query_default.inc b/plugins/views_plugin_query_default.inc
index 030c5ea..ce024d1 100644
--- a/plugins/views_plugin_query_default.inc
+++ b/plugins/views_plugin_query_default.inc
@@ -1323,11 +1323,19 @@ class views_plugin_query_default extends views_plugin_query {
       $this->has_aggregate = TRUE;
     }
     if ($this->has_aggregate && (!empty($this->groupby) || !empty($non_aggregates))) {
-      $groupby = array_unique(array_merge($this->groupby, $non_aggregates));
+      // don't mess with the original groupby if it was set
+      if (!empty($this->groupby)) {
+        $groupby = $this->groupby;
+      }
+      // use the non aggregates to create our groupby
+      else {
+        $groupby = $non_aggregates;
+      }
+
       foreach ($groupby as $field) {
         $query->groupBy($field);
       }
-      if (!empty($this->having) && $condition = $this->build_condition('having')) {
+      if ($condition = $this->build_condition('having')) {
         $query->havingCondition($condition);
       }
     }
