Index: node.module =================================================================== --- node.module (revision 19) +++ node.module (working copy) @@ -1232,7 +1232,10 @@ } if ($weight = (int)variable_get('node_rank_recent', 5)) { // Exponential decay with half-life of 6 months, starting at last indexed node - $ranking[] = '%d * POW(2, (GREATEST(MAX(n.created), MAX(n.changed), MAX(c.last_comment_timestamp)) - %d) * 6.43e-8)'; + // c.last_comment_timestamp may be NULL. Since both MAX(anynumber, NULL) and + // GREATEST(anynumber, NULL) return NULL, we OR MAX(c.last_comment_timestamp) with 1 + // to prevent it from being NULL. + $ranking[] = '%d * POW(2, (GREATEST(MAX(n.created), MAX(n.changed), MAX(c.last_comment_timestamp) || 1) - %d) * 6.43e-8)'; $arguments2[] = $weight; $arguments2[] = (int)variable_get('node_cron_last', 0); $join2 .= ' LEFT JOIN {node_comment_statistics} c ON c.nid = i.sid';