--- views_node_orig.inc	2006-10-16 01:32:22.000000000 -0500
+++ views_node.inc	2006-10-16 02:35:37.000000000 -0500
@@ -97,6 +97,11 @@ function node_views_tables() {
         'handler' => 'views_handler_sort_random',
         'help' => t('By choosing random, nodes will be ordered completely randomly. This is a good way to choose X random nodes from a group of nodes.'),
       ),
+ 			'updated_or_comment' => array(
+        'name' => t('Node: Last Update or Comment'),
+        'handler' => 'views_handler_sort_updated_or_comment',
+        'help' => t('Sort by the last update or comment date of the node.'),
+      ),
     ),
     'filters' => array(
       'status' => array(
@@ -732,6 +737,12 @@ function views_handler_sort_random($acti
   }
 }
 
+function views_handler_sort_updated_or_comment($action, &$query, $sortinfo, $sort) {
+	$query->ensure_table('node_comment_statistics');
+	$query->orderby[] = 'GREATEST(node.changed, node_comment_statistics.last_comment_timestamp) ' . $sort['sortorder'];
+}
+
+
 function views_handler_arg_node_feed($op, &$query, $argtype, $arg = '') {
   switch($op) {
     case 'summary':
