Index: modules/statistics/statistics.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/statistics/statistics.admin.inc,v
retrieving revision 1.31
diff -u -p -r1.31 statistics.admin.inc
--- modules/statistics/statistics.admin.inc	25 Aug 2009 10:27:15 -0000	1.31
+++ modules/statistics/statistics.admin.inc	26 Aug 2009 21:36:37 -0000
@@ -265,7 +265,7 @@ function statistics_settings_form() {
     '#type' => 'select',
     '#title' => t('Discard access logs older than'),
     '#default_value' => 259200,
-    '#options' => drupal_map_assoc(array(3600, 10800, 21600, 32400, 43200, 86400, 172800, 259200, 604800, 1209600, 2419200, 4838400, 9676800), 'format_interval'),
+    '#options' => array(0 => t('Never')) + drupal_map_assoc(array(3600, 10800, 21600, 32400, 43200, 86400, 172800, 259200, 604800, 1209600, 2419200, 4838400, 9676800), 'format_interval'),
     '#description' => t('Older access log entries (including referrer statistics) will be automatically discarded. (Requires a correctly configured <a href="@cron">cron maintenance task</a>.)', array('@cron' => url('admin/reports/status'))),
   );
 
Index: modules/statistics/statistics.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/statistics/statistics.module,v
retrieving revision 1.315
diff -u -p -r1.315 statistics.module
--- modules/statistics/statistics.module	24 Aug 2009 00:14:22 -0000	1.315
+++ modules/statistics/statistics.module	26 Aug 2009 21:36:37 -0000
@@ -228,10 +228,12 @@ function statistics_cron() {
     variable_set('statistics_day_timestamp', REQUEST_TIME);
   }
 
-  // Clean up expired access logs.
-  db_delete('accesslog')
-    ->condition('timestamp', REQUEST_TIME - variable_get('statistics_flush_accesslog_timer', 259200), '<')
-    ->execute();
+  // Clean up expired access logs (if applicable).
+  if (variable_get('statistics_flush_accesslog_timer', 259200) > 0) {
+    db_delete('accesslog')
+      ->condition('timestamp', REQUEST_TIME - variable_get('statistics_flush_accesslog_timer', 259200), '<')
+      ->execute();
+  }
 }
 
 /**
