--- uc_reports.admin.inc	2011-04-25 23:42:51.000000000 -0400
+++ uc_reports.admin.inc.fixed	2011-04-25 23:42:40.000000000 -0400
@@ -175,7 +175,8 @@
     array('data' => t('#')),
     array('data' => t('Product'), 'field' => 'n.title'),
     array('data' => t('Sold'), 'field' => 'sold'),
-    array('data' => t('Revenue'), 'field' => 'revenue', 'sort' => 'desc'),
+    array('data' => t('Revenue')),
+   // array('data' => t('Revenue'), 'field' => 'revenue', 'sort' => 'desc'),
     array('data' => t('Gross'), 'field' => 'gross'),
   );
   $csv_rows[] = array(t('#'), t('Product'), t('Sold'), t('Revenue'), t('Gross'));
@@ -201,7 +202,8 @@
 
   $query->condition('n.type', $product_types, 'IN')
     ->groupBy('n.nid')
-    ->groupBy('n.title');
+    ->groupBy('n.title')
+    ->groupBy('nc.totalcount');
 
   $products = $query->execute();
   foreach ($products as $product) {
@@ -386,7 +388,9 @@
       'title',
     ))
     ->condition('type', $product_types, 'IN')
-    ->groupBy('n.nid');
+    ->groupBy('n.nid')
+    ->groupBy('n.title')
+    ->groupBy('c.totalcount');
 
   $query->addExpression("(SELECT SUM(qty) FROM {uc_order_products} AS p LEFT JOIN {uc_orders} AS o ON p.order_id = o.order_id WHERE o.order_status IN (:statuses) AND p.nid = n.nid AND o.created >= :start AND o.created <= :end)", 'sold', array(':statuses' => $args['status'], ':start' => $args['start_date'], ':end' => $args['end_date']));
   $query->addExpression("(SELECT (SUM(p2.price * p2.qty)) FROM {uc_order_products} AS p2 LEFT JOIN {uc_orders} AS o ON p2.order_id = o.order_id WHERE o.order_status IN (:statuses) AND p2.nid = n.nid AND o.created >= :start AND o.created <= :end)", 'revenue', array(':statuses' => $args['status'], ':start' => $args['start_date'], ':end' => $args['end_date']));
