diff -urp xmlsitemap/xmlsitemap.admin.inc xmlsitemapNew/xmlsitemap.admin.inc
--- xmlsitemap/xmlsitemap.admin.inc	2011-02-22 11:39:53.000000000 -0500
+++ xmlsitemapNew/xmlsitemap.admin.inc	2011-02-22 11:29:23.000000000 -0500
@@ -286,6 +286,13 @@ function xmlsitemap_settings_form() {
     '#description' => t('The minimum amount of time that will elapse before the sitemaps are regenerated. The sitemaps will also only be regenerated on cron if any links have been added, updated, or deleted.') . '<br />' . t('Recommended value: %value.', array('%value' => t('1 day'))),
     '#default_value' => variable_get('xmlsitemap_minimum_lifetime', 0),
   );
+  $form['xmlsitemap_maximum_changefreq'] = array(
+    '#type' => 'select',
+    '#title' => t('Maximum change frequency'),
+    '#options' => xmlsitemap_get_changefreq_options() + array(99999999 => t('never')),
+    '#description' => t('The maximum change frequency assigned to a page. By default there is no maximum.'),
+    '#default_value' => variable_get('xmlsitemap_maximum_changefreq', 99999999),
+  );
   $form['xmlsitemap_xsl'] = array(
     '#type' => 'checkbox',
     '#title' => t('Include a stylesheet in the sitemaps for humans.'),
diff -urp xmlsitemap/xmlsitemap.module xmlsitemapNew/xmlsitemap.module
--- xmlsitemap/xmlsitemap.module	2011-02-22 11:39:53.000000000 -0500
+++ xmlsitemapNew/xmlsitemap.module	2011-02-22 11:29:23.000000000 -0500
@@ -1081,8 +1081,9 @@ function xmlsitemap_get_changefreq($inte
     return FALSE;
   }
 
+  $max_changefreq = variable_get('xmlsitemap_maximum_changefreq', 99999999);
   foreach (xmlsitemap_get_changefreq_options() as $value => $frequency) {
-    if ($interval <= $value) {
+    if ($interval <= $value || $value >= $max_changefreq) {
       return $frequency;
     }
   }
